Re: [PATCH v2 1/2] vdso: move offset_in_page() from linux/mm.h to vdso/page.h
From: Andy Shevchenko
Date: Mon Aug 17 2026 - 15:05:13 EST
On Fri, May 22, 2026 at 11:52:58AM +0100, Lorenzo Stoakes wrote:
> On Thu, May 21, 2026 at 09:34:57PM +0300, Andy Shevchenko wrote:
> > On Thu, May 21, 2026 at 4:56 PM Lorenzo Stoakes <ljs@xxxxxxxxxx> wrote:
> > > 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:
...
> > > Unless a series can be put forwards that sensibly justifies this, not some
> > > random change somewhere, I'd rather we not take it.
> >
> > The problem is not only a compile time but more generic - the mess in
> > the Linux headers. People who want to use this match need to include
> > mm.h which is a bloated header with *tons* of unneeded dependencies
> > (for those pure users) and increases chaos in how the headers are
> > split.
>
> No question the headers are a bit of a mess, and I've had absolute headaches
> with dependency chain stuff there.
>
> > If we don't care about it, then provide an "INCLUDE EVERYTHING" header
>
> That's a false dichotomy - the series isn't upstreamable as-is. I've provided
> feedback that's not been addressed so we won't take it.
>
> > and let the driver just include that. But of course, we don't do that,
> > we do modular headers for a reason. Currently I see no reason to have
> > that simple helper to be mm.h as its use is much wider in the cases
> > where the whole hell of mm.h is not needed.
>
> We also don't want to have wildly divergent overly-specific individual headers,
> and series have to be upstreamable.
No objections on this.
> > So, the best course of actions I see now is leave mm people alone and
> > simply duplicate what we need in the headers we want to see
> > (util_macros.h as a rough approximation, but maybe something better).
>
> I mean I feel engaging civilly and constructively with people who have taken
> their time out to provide feedback is a better approach, but obviously what you
> do elsewhere in the kernel is up to you.
Yes, but it's may be due to my blindness to see how the whole mm.h machinery
is useful for just simple macros that use PAGE_* ones beneath. I'm for whatever
(much) smaller and that has much lesser dependencies, so people can use 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).
>
> Overall this all feels like a storm in a teapot, this is a very trivial macro
> and the use case seems nebulous at best.
It might be more users found, if we start looking into that with tools like
coccinelle. But I don't know.
> A series actually addressing header issues with _a justifying reason provided_
> (I am astonished that it still hasn't!), would be more useful, as long as it was
> upstreamable and didn't cause other issues.
Sure, justifying reason (one of?) is a very baby step to clean up the header
dependency hell we have. I know that some people want the problem to be solved
once for all, but it's impossible to achieve (remember Ingo's 2000+ patch series).
> We in mm are friendly and accepting of good series, engaging positively will get
> a positive reception :)
I believe this is a standard for maintainers in the kernel independently on the
subsystem. But thanks for confirming!
--
With Best Regards,
Andy Shevchenko