diff options
| author | Vishal Moola (Oracle) <[email protected]> | 2023-01-30 13:43:50 -0800 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2023-02-13 15:54:31 -0800 |
| commit | da707a6d184a8a6ef0b756c3ba49888fec223793 (patch) | |
| tree | d196661949ae0c9ee66743a65ed1aeba030c0a0e /include/linux | |
| parent | 3c1ea2c729ef8ef07bcb80d01ab2ead45b3406dd (diff) | |
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/[email protected]
Signed-off-by: Vishal Moola (Oracle) <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/migrate.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/migrate.h b/include/linux/migrate.h index 3ef77f52a4f0..bdff950a8bb4 100644 --- a/include/linux/migrate.h +++ b/include/linux/migrate.h @@ -123,6 +123,15 @@ static inline bool folio_test_movable(struct folio *folio) } 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) { VM_BUG_ON(!__PageMovable(page)); |