On Mon, Jun 30, 2025 at 03:00:03PM +0200, David Hildenbrand wrote: > KSM is the only remaining user, let's rename the flag. While at it, > adjust to remaining page -> folio in the doc.
Hm I wonder if we could just ideally have this be a separate flag rather than a bitwise combination, however I bet there's code that does somehow rely on this. I know for sure there's code that has to do a folio_test_ksm() on something folio_test_anon()'d because the latter isn't sufficient. But this is one for the future I guess :) Nice: re change to folio, that is a nice cleanup based on fact you've now made the per-page mapping op stuff not be part of this. > > Reviewed-by: Zi Yan <z...@nvidia.com> > Signed-off-by: David Hildenbrand <da...@redhat.com> LGTM, so: Reviewed-by: Lorenzo Stoakes <lorenzo.stoa...@oracle.com> > --- > include/linux/page-flags.h | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index aa48b05536bca..abed972e902e1 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -697,10 +697,10 @@ PAGEFLAG_FALSE(VmemmapSelfHosted, vmemmap_self_hosted) > * folio->mapping points to its anon_vma, not to a struct address_space; > * with the PAGE_MAPPING_ANON bit set to distinguish it. See rmap.h. > * > - * On an anonymous page in a VM_MERGEABLE area, if CONFIG_KSM is enabled, > - * the PAGE_MAPPING_MOVABLE bit may be set along with the PAGE_MAPPING_ANON > + * On an anonymous folio in a VM_MERGEABLE area, if CONFIG_KSM is enabled, > + * the PAGE_MAPPING_ANON_KSM bit may be set along with the PAGE_MAPPING_ANON > * bit; and then folio->mapping points, not to an anon_vma, but to a private > - * structure which KSM associates with that merged page. See ksm.h. > + * structure which KSM associates with that merged folio. See ksm.h. > * > * Please note that, confusingly, "folio_mapping" refers to the inode > * address_space which maps the folio from disk; whereas "folio_mapped" > @@ -714,9 +714,9 @@ PAGEFLAG_FALSE(VmemmapSelfHosted, vmemmap_self_hosted) > * See mm/slab.h. > */ > #define PAGE_MAPPING_ANON 0x1 > -#define PAGE_MAPPING_MOVABLE 0x2 > -#define PAGE_MAPPING_KSM (PAGE_MAPPING_ANON | PAGE_MAPPING_MOVABLE) > -#define PAGE_MAPPING_FLAGS (PAGE_MAPPING_ANON | PAGE_MAPPING_MOVABLE) > +#define PAGE_MAPPING_ANON_KSM 0x2 > +#define PAGE_MAPPING_KSM (PAGE_MAPPING_ANON | PAGE_MAPPING_ANON_KSM) > +#define PAGE_MAPPING_FLAGS (PAGE_MAPPING_ANON | PAGE_MAPPING_ANON_KSM) > > static __always_inline bool folio_mapping_flags(const struct folio *folio) > { > -- > 2.49.0 >