Re: [RFC PATCH 5/5] mm: shmem: add anonymous share mTHP counters

From: David Hildenbrand
Date: Tue Apr 23 2024 - 07:38:16 EST


On 23.04.24 03:17, Barry Song wrote:
On Mon, Apr 22, 2024 at 3:03 PM Baolin Wang
<baolin.wang@xxxxxxxxxxxxxxxxx> wrote:

Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
---
include/linux/huge_mm.h | 2 ++
mm/huge_memory.c | 4 ++++
mm/shmem.c | 5 ++++-
3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
index 26b6fa98d8ac..67b9c1acad31 100644
--- a/include/linux/huge_mm.h
+++ b/include/linux/huge_mm.h
@@ -270,6 +270,8 @@ enum mthp_stat_item {
MTHP_STAT_ANON_SWPOUT,
MTHP_STAT_ANON_SWPOUT_FALLBACK,
MTHP_STAT_ANON_SWPIN_REFAULT,
+ MTHP_STAT_SHMEM_ANON_ALLOC,
+ MTHP_STAT_SHMEM_ANON_ALLOC_FALLBACK,

not quite sure about this. for 2MB pmd-mapped THP shmem, we count them
as FILE_THP.
here we are counting as SHMEM_ANON. To me, SHMEM_ANON is more correct but
it doesn't align with pmd-mapped THP. David, Ryan, what do you think?

The term "anonymous share" in the patch subject is weird to begin with ;) Easy to confuse with anonymous cow-shared memory. Let's just call it "anonymous shmem", which it is under the hood.

.. regarding the question: if we add FILE_ALLOC and friends, at least initially, we wouldn't account other large pagecache folios.

.. likely we should add that then as well so the counter matches the actual name?

If we later realize that we need separate FILE vs. SHMEM vs. WHATEVER counters, we can always add more fine-grained counters later. Doing it consistently w.r.t. traditional THPs first sounds reasonable.

--
Cheers,

David / dhildenb