From: Vlastimil Babka <vbabka@suse.com>
To: Andi Kleen <ak@linux.intel.com>, linux-mm@kvack.org
Cc: akpm@linux-foundation.org,
"David Hildenbrand (Arm)" <david@kernel.org>,
Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Subject: Re: [PATCH v3] smaps: Report PMD page size for pure PMD mappings
Date: Wed, 4 Mar 2026 18:29:09 +0100 [thread overview]
Message-ID: <101ac423-252d-4ef8-a07c-34f5d59820f5@suse.com> (raw)
In-Reply-To: <20260303201556.107960-1-ak@linux.intel.com>
Why do you keep not CCing people from v1/v2 discussions? David said that
already on v2. It seems rather rude to me.
On 3/3/26 9:15 PM, Andi Kleen wrote:
> When a smaps mapping is only PMD mappings report the
> PMD page size for MMUPageSize instead of the base page size.
>
> This is a revised version of an earlier patch that tried
> to report multiple page sizes, but there were many objections
> mainly centered around compatibility for mixed page size
> reporting. This patch side steps all of this by
> only handling the non mixed case in the simplest possible way.
> It also avoids a problem introduced with v2 that page sizes
> for mappings with no pages were incorrectly reported.
>
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
Will this be useful in practice or just confusing? There can be e.g.
misaligned mappings, or other reasons why there won't be 100% THP
coverage. This all or nothing value (IIUC) seems inferior to the
counters we have that say how much is pmd mapped, so I'm not really sure
it's worth changing this.
> ---
> fs/proc/task_mmu.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
> index e091931d7ca1..a5c7bc88a539 100644
> --- a/fs/proc/task_mmu.c
> +++ b/fs/proc/task_mmu.c
> @@ -1371,6 +1371,7 @@ static int show_smap(struct seq_file *m, void *v)
> {
> struct vm_area_struct *vma = v;
> struct mem_size_stats mss = {};
> + unsigned ps;
>
> smap_gather_stats(vma, &mss, 0);
>
> @@ -1378,7 +1379,16 @@ static int show_smap(struct seq_file *m, void *v)
>
> SEQ_PUT_DEC("Size: ", vma->vm_end - vma->vm_start);
> SEQ_PUT_DEC(" kB\nKernelPageSize: ", vma_kernel_pagesize(vma));
> - SEQ_PUT_DEC(" kB\nMMUPageSize: ", vma_mmu_pagesize(vma));
> + ps = vma_mmu_pagesize(vma);
> + /*
> + * When the mapping is only PMD THP report the correct page size.
> + * When multiple pages are there the user has to figure it out
> + * from other fields.
> + */
> + if (mss.shmem_thp + mss.file_thp + mss.anonymous_thp == mss.resident &&
> + mss.resident)
> + ps = HPAGE_PMD_SIZE;
> + SEQ_PUT_DEC(" kB\nMMUPageSize: ", ps);
> seq_puts(m, " kB\n");
>
> __show_smap(m, &mss, false);
next prev parent reply other threads:[~2026-03-04 17:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 20:15 Andi Kleen
2026-03-04 17:29 ` Vlastimil Babka [this message]
2026-03-04 19:13 ` Andi Kleen
2026-03-04 19:20 ` David Hildenbrand (Arm)
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=101ac423-252d-4ef8-a07c-34f5d59820f5@suse.com \
--to=vbabka@suse.com \
--cc=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