Re: [PATCH v3 2/2] mm: collect the number of anon large folios partially mapped

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23.08.24 00:40, Barry Song wrote:
From: Barry Song <v-songbaohua@xxxxxxxx>

When an mTHP is added to the deferred_list due to partially mapped,
its partial pages are unused, leading to wasted memory and potentially
increasing memory reclamation pressure.

Detailing the specifics of how unmapping occurs is quite difficult
and not that useful, so we adopt a simple approach: each time an
mTHP enters the deferred_list, we increment the count by 1; whenever
it leaves for any reason, we decrement the count by 1.

:) And here you only talk about mTHP but not in the subject.


Signed-off-by: Barry Song <v-songbaohua@xxxxxxxx>
---
  Documentation/admin-guide/mm/transhuge.rst | 5 +++++
  include/linux/huge_mm.h                    | 1 +
  mm/huge_memory.c                           | 6 ++++++
  3 files changed, 12 insertions(+)

diff --git a/Documentation/admin-guide/mm/transhuge.rst b/Documentation/admin-guide/mm/transhuge.rst
index b78f2148b242..b1c948c7de9d 100644
--- a/Documentation/admin-guide/mm/transhuge.rst
+++ b/Documentation/admin-guide/mm/transhuge.rst
@@ -556,6 +556,11 @@ nr_anon
         These huge pages could be entirely mapped or have partially
         unmapped/unused subpages.
+nr_anon_partially_mapped
+       the number of transparent anon huge pages which have been partially
+       unmapped and put onto split queue. Those unmapped subpages are
+       also unused and temporarily wasting memory.

It's a bit more tricky I believe:

"the number of anonymous THP which are likely partially mapped, possibly wasting memory, and have been queued for deferred memory reclamation. Note that in corner some cases (e.g., failed migration), we might detect an anonymous THP as "partially mapped" and count it here, even though it is not actually partially mapped anymore."

Acked-by: David Hildenbrand <david@xxxxxxxxxx>

--
Cheers,

David / dhildenb





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux