Re: [PATCH 10/10] mm: replace mm->flags with bitmap entirely and set to 64 bits

Lorenzo Stoakes
2025-08-12T17:44:16Z

On Tue, Aug 12, 2025 at 01:35:18PM -0400, Liam R. Howlett wrote:
> * Lorenzo Stoakes <lorenzo.stoakes@oracle.com> [250812 11:48]:
> > Now we have updated all users of mm->flags to use the bitmap accessors,
> > repalce it with the bitmap version entirely.
> >
> > We are then able to move to having 64 bits of mm->flags on both 32-bit and
> > 64-bit architectures.
> >
> > We also update the VMA userland tests to ensure that everything remains
> > functional there.
> >
> > No functional changes intended, other than there now being 64 bits of
> > available mm_struct flags.
> >
> > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
>
> A nit below, but..
>
> Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>

Thanks!

[snip]

> > diff --git a/tools/testing/vma/vma_internal.h b/tools/testing/vma/vma_internal.h
> > index cb1c2a8afe26..f13354bf0a1e 100644
> > --- a/tools/testing/vma/vma_internal.h
> > +++ b/tools/testing/vma/vma_internal.h
> > @@ -249,6 +249,14 @@ struct mutex {};
> > #define DEFINE_MUTEX(mutexname) \
> > struct mutex mutexname = {}
> >
> > +#define DECLARE_BITMAP(name, bits) \
> > + unsigned long name[BITS_TO_LONGS(bits)]
> > +
> > +#define NUM_MM_FLAG_BITS (64)
> > +typedef struct {
> > + __private DECLARE_BITMAP(__mm_flags, NUM_MM_FLAG_BITS);
> > +} mm_flags_t;
> > +
>
> nit, This might be better in common test code? Probably just leave it
> here until it's needed elsewhere.

Yeah, I think we need to figure this out in a more sensible way so we keep
things vaguely synced for this stuff more generally. I'll add a todo for
this!

I think fine for now, key point here is keeping the tests working.

Cheers, Lorenzo