linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andi Kleen <ak@linux.intel.com>
To: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: "David Hildenbrand (Arm)" <david@kernel.org>,
	linux-mm@kvack.org, akpm@linux-foundation.org
Subject: Re: [PATCH v2] smaps: Report correct page sizes with THP
Date: Tue, 3 Mar 2026 07:34:35 -0800	[thread overview]
Message-ID: <aab_izbib9GzSeRc@tassilo> (raw)
In-Reply-To: <72667151-816f-49a7-90e7-c68db3ac3390@lucifer.local>

On Tue, Mar 03, 2026 at 09:39:14AM +0000, Lorenzo Stoakes wrote:
> > > actually crosses two 4k pages. So it must be aware that mmap etc operate
> > > in 64k, but the underlying emulation might be smaller.
> >
> > Sounds like a very contrived use case, which I'm not sure actually
> > happens.  From my past experiences most software usually doesn't use
> > complicated enumerations anyways but just hard codes something
> > reasonable (like in your example just always assume 4K worst case).
> > From their POV it makes sense, how would you test
> > a complicated enumeration for cases that don't happen on your
> > current system.
> 
> I'm sorry but it's a legacy user-facing stat, we don't get to change it or add a

I would rather call it a legacy user-facing lie at this point.

Labelling something with 4K that is only 2MB is just wrong and
incorrect. 

> > > >> I'd expect other cases where an architecture might have to care about
> > > >> the actual, smallest possible MMUPageSize it might be executed on while
> > > >> running the program.
> > > >
> > > > That's fine, they can use the min, or just the first match
> > > > (which is always the smallest)
> > > >
> > > >>
> > > >> It's a shame we had to add MMUPageSize, but maybe it might resurface if
> > > >> we ever support emulating 64K/16K user pagesizes on 4K MMUs.
> > > >
> > > > Okay, so if I follow that correctly you're suggesting
> > > > to change KernelPageSize, not MMUPageSize. I can do that change.
> > >
> > > Not at all. I'm saying that we leave KernelPageSize and MMUPageSize
> > > alone, just as they are today.
> >
> > That doesn't solve the problem that motivated my patch
> > smaps is confusing today and would stay so.
> 
> Except as you've been told you can find this information out in different
> ways.

Yes I figured this out by myself, but only wasting a lot of time caused
by the confusing and incorrect legacy interface. That's the problem
I'm trying to address here.

Thank you for rubbing salt into the wounds.

The crazy thing about this is that hugetlbfs even does it correctly,
it's only THP that is blatantly wrong.

> 
> >
> > >
> > > Instead, if we want better statistics (and I think we want) regarding
> > > how things are mapped, we should look into a better interface.
> >
> > I don't see how a new interface helps really. Some of the problems
> 
> I mean, you want information X, we're suggesting the providing of an interface
> to provide information X and... you don't see how that helps?

My goal was to fix the old interface to not blatantly report wrong
information. A new magical interface doesn't really help with that.


> 
> > you mentioned earlier could be either solved today with smaps
> > (e.g. handling the case when a folio is mapped partially and just
> > report the smaller page size), or are unsolveable in the general case
> > (what the TLB actually handles)
> 
> We're not having multiple entries in smaps for every mapping size, it's broken
> and ungreppable, and very liable to add additional confusion to users.

Okay, I guess one way to address your objections with "ungreppable" 
would be to report the majority page size in MMUPageSize and call
the minority page sizes something else that doesn't trigger on grep.

(MMUSecondaryPS or something like that)

If you don't like numbers I guess we can spell it out.


> A new interface gives us flexibility to do what we want, we aren't running out
> of syscalls or places to put statistics.

I don't see why a new interface is needed TBH. Can just add fields
and fix the existing fields not to lie. Yes need to take care of 
compatibility, I don't disagree on that. But just adding new interfaces
for everything instead of maintaining the old stuff properly isn't
the right answer.


-Andi


  reply	other threads:[~2026-03-03 15:34 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-25 23:27 Andi Kleen
2026-02-26 12:08 ` Usama Arif
2026-03-01 17:20   ` Andi Kleen
2026-02-26 17:31 ` David Hildenbrand (Arm)
2026-03-01 17:35   ` Andi Kleen
2026-03-02 19:29     ` David Hildenbrand (Arm)
2026-03-02 20:41       ` Andi Kleen
2026-03-02 21:05         ` David Hildenbrand (Arm)
2026-03-02 21:48           ` Andi Kleen
2026-03-03  9:05             ` David Hildenbrand (Arm)
2026-03-03  9:39             ` Lorenzo Stoakes
2026-03-03 15:34               ` Andi Kleen [this message]
2026-03-03 16:29                 ` Lorenzo Stoakes
2026-03-03 16:04           ` Andi Kleen
2026-03-03 16:14             ` David Hildenbrand (Arm)
2026-03-03  9:27 ` Lorenzo Stoakes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aab_izbib9GzSeRc@tassilo \
    --to=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=david@kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lorenzo.stoakes@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox