Re: [PATCH v2 1/2] vdso: move offset_in_page() from linux/mm.h to vdso/page.h
From: Lorenzo Stoakes
Date: Thu May 21 2026 - 11:30:17 EST
On Thu, May 21, 2026 at 12:16:00PM +0100, Lorenzo Stoakes wrote:
> On Thu, May 21, 2026 at 11:06:57AM +0200, Thorsten Blum wrote:
> > Move offset_in_page() out of linux/mm.h so users that only need page
> > offset calculations can include the lightweight vdso/page.h header
> > instead of pulling in the large linux/mm.h.
> >
> > Include vdso/page.h from linux/mm.h so existing users of
> > offset_in_page() continue to build.
> >
> > Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
>
> LGTM other than dropping the include below (maybe Andrew can do it for
> us?), so:
>
> Reviewed-by: Lorenzo Stoakes <ljs@xxxxxxxxxx>
TBH I'd like to withdraw this at this point.
Unless a series can be put forwards that sensibly justifies this, not some
random change somewhere, I'd rather we not take it.
Also vdso/page.h is a VDSO-specific header by MAINTAINERS, offset_in_page() is
really an mm thing so that's another reason not to move it.
(A justifying change would show actually build time/binary bloat/etc. numbers +
involve actual substantive changes).
Thanks, Lorenzo
>
> > ---
> > include/linux/mm.h | 2 +-
> > include/vdso/page.h | 2 ++
> > 2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/linux/mm.h b/include/linux/mm.h
> > index 9cedc5e75aa9..d5c7f1ca80ef 100644
> > --- a/include/linux/mm.h
> > +++ b/include/linux/mm.h
> > @@ -37,6 +37,7 @@
> > #include <linux/bitmap.h>
> > #include <linux/bitops.h>
> > #include <linux/iommu-debug-pagealloc.h>
> > +#include <vdso/page.h>
>
> Yeah as per David Laight, we don't need this.
>
> >
> > struct mempolicy;
> > struct anon_vma;
> > @@ -3023,7 +3024,6 @@ static inline void clear_page_pfmemalloc(struct page *page)
> > */
> > extern void pagefault_out_of_memory(void);
> >
> > -#define offset_in_page(p) ((unsigned long)(p) & ~PAGE_MASK)
> > #define offset_in_folio(folio, p) ((unsigned long)(p) & (folio_size(folio) - 1))
> >
> > /*
> > diff --git a/include/vdso/page.h b/include/vdso/page.h
> > index bc47186c07fc..948b13091084 100644
> > --- a/include/vdso/page.h
> > +++ b/include/vdso/page.h
> > @@ -28,4 +28,6 @@
> > #define PAGE_MASK (~(PAGE_SIZE - 1))
> > #endif
> >
> > +#define offset_in_page(p) ((unsigned long)(p) & ~PAGE_MASK)
> > +
> > #endif /* __VDSO_PAGE_H */