Re: [PATCH v2 01/23] mm/vma: add vma_flags_empty(), vma_flags_and(), vma_flags_diff_pair()
"Lorenzo Stoakes (Oracle)" <[email protected]>
| Newsgroups | gmane.linux.ports.riscv,gmane.linux.kernel.mm,gmane.linux.kernel,gmane.linux.kernel.arc,gmane.linux.ports.arm.kernel,gmane.linux.ports.hexagon,gmane.linux.ports.mips,gmane.linux.ports.ppc64.devel,gmane.linux.uml.devel,gmane.linux.file-systems |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Mar 18, 2026 at 03:40:45PM +0100, Vlastimil Babka (SUSE) wrote: > On 3/16/26 14:07, Lorenzo Stoakes (Oracle) wrote: > > Firstly, add the ability to determine if VMA flags are empty, that is no > > flags are set in a vma_flags_t value. > > > > Next, add the ability to obtain the equivalent of the bitwise and of two > > vma_flags_t values, via vma_flags_and(). > > Nit: "two values" is vma_flags_and_mask(), while vma_flags_and() takes one > value and list of flags, no? Sorry missed this. Yeah should be 'via vma_flags_and_mask()', or a better description of vma_flags_and() :) > > > Next, add the ability to obtain the difference between two sets of VMA > > flags, that is the equivalent to the exclusive bitwise OR of the two sets > > of flags, via vma_flags_diff_pair(). > > > > vma_flags_xxx_mask() typically operates on a pointer to a vma_flags_t > > value, which is assumed to be an lvalue of some kind (such as a field in a > > struct or a stack variable) and an rvalue of some kind (typically a > > constant set of VMA flags obtained e.g. via mk_vma_flags() or equivalent). > > > > However vma_flags_diff_pair() is intended to operate on two lvalues, so use > > the _pair() suffix to make this clear. > > > > Finally, update VMA userland tests to add these helpers. > > > > We also port bitmap_xor() and __bitmap_xor() to the tools/ headers and > > source to allow the tests to work with vma_flags_diff_pair(). > > > > Signed-off-by: Lorenzo Stoakes (Oracle) <[email protected]> > > Acked-by: Vlastimil Babka (SUSE) <[email protected]> >