mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-16 21:35:07 +00:00
mm/migrate: add folio_movable_ops()
folio_movable_ops() does the same as page_movable_ops() except uses folios instead of pages. This function will help make folio conversions in migrate.c more readable. Link: https://lkml.kernel.org/r/20230130214352.40538-3-vishal.moola@gmail.com Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com> Cc: Matthew Wilcox <willy@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
3c1ea2c729
commit
da707a6d18
@ -122,6 +122,15 @@ static inline bool folio_test_movable(struct folio *folio)
|
||||
return PageMovable(&folio->page);
|
||||
}
|
||||
|
||||
static inline
|
||||
const struct movable_operations *folio_movable_ops(struct folio *folio)
|
||||
{
|
||||
VM_BUG_ON(!__folio_test_movable(folio));
|
||||
|
||||
return (const struct movable_operations *)
|
||||
((unsigned long)folio->mapping - PAGE_MAPPING_MOVABLE);
|
||||
}
|
||||
|
||||
static inline
|
||||
const struct movable_operations *page_movable_ops(struct page *page)
|
||||
{
|
||||
|
@ -990,7 +990,7 @@ static int move_to_new_folio(struct folio *dst, struct folio *src,
|
||||
goto out;
|
||||
}
|
||||
|
||||
mops = page_movable_ops(&src->page);
|
||||
mops = folio_movable_ops(src);
|
||||
rc = mops->migrate_page(&dst->page, &src->page, mode);
|
||||
WARN_ON_ONCE(rc == MIGRATEPAGE_SUCCESS &&
|
||||
!folio_test_isolated(src));
|
||||
|
Loading…
x
Reference in New Issue
Block a user