On Mon, Jun 30, 2025 at 02:59:55PM +0200, David Hildenbrand wrote: > Unused, let's remove it. > > The Chinese docs in Documentation/translations/zh_CN/mm/page_migration.rst > still mention it, but that whole docs is destined to get outdated and > updated by somebody that actually speaks that language.
Yeah I've noticed these getting out of sync before, perhaps somebody fluent in Simplified Chinese can assist at some point :) mine is rather rusty... > > Reviewed-by: Zi Yan <z...@nvidia.com> > Signed-off-by: David Hildenbrand <da...@redhat.com> Lovely! The best code is no code :>) Reviewed-by: Lorenzo Stoakes <lorenzo.stoa...@oracle.com> > --- > include/linux/migrate.h | 8 ++------ > mm/compaction.c | 11 ----------- > 2 files changed, 2 insertions(+), 17 deletions(-) > > diff --git a/include/linux/migrate.h b/include/linux/migrate.h > index c99a00d4ca27d..6eeda8eb1e0d8 100644 > --- a/include/linux/migrate.h > +++ b/include/linux/migrate.h > @@ -35,8 +35,8 @@ struct migration_target_control; > * @src page. The driver should copy the contents of the > * @src page to the @dst page and set up the fields of @dst page. > * Both pages are locked. > - * If page migration is successful, the driver should call > - * __ClearPageMovable(@src) and return MIGRATEPAGE_SUCCESS. > + * If page migration is successful, the driver should > + * return MIGRATEPAGE_SUCCESS. > * If the driver cannot migrate the page at the moment, it can return > * -EAGAIN. The VM interprets this as a temporary migration failure and > * will retry it later. Any other error value is a permanent migration > @@ -106,16 +106,12 @@ static inline int migrate_huge_page_move_mapping(struct > address_space *mapping, > #ifdef CONFIG_COMPACTION > bool PageMovable(struct page *page); > void __SetPageMovable(struct page *page, const struct movable_operations > *ops); > -void __ClearPageMovable(struct page *page); > #else > static inline bool PageMovable(struct page *page) { return false; } > static inline void __SetPageMovable(struct page *page, > const struct movable_operations *ops) > { > } > -static inline void __ClearPageMovable(struct page *page) > -{ > -} > #endif > > static inline > diff --git a/mm/compaction.c b/mm/compaction.c > index 17455c5a4be05..889ec696ba96a 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -137,17 +137,6 @@ void __SetPageMovable(struct page *page, const struct > movable_operations *mops) > } > EXPORT_SYMBOL(__SetPageMovable); > > -void __ClearPageMovable(struct page *page) > -{ > - VM_BUG_ON_PAGE(!PageMovable(page), page); > - /* > - * This page still has the type of a movable page, but it's > - * actually not movable any more. > - */ > - page->mapping = (void *)PAGE_MAPPING_MOVABLE; > -} > -EXPORT_SYMBOL(__ClearPageMovable); > - > /* Do not skip compaction more than 64 times */ > #define COMPACT_MAX_DEFER_SHIFT 6 > > -- > 2.49.0 >