diff options
| author | Yu Zhao <[email protected]> | 2023-12-08 06:14:07 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2023-12-13 01:20:20 +0000 |
| commit | 4376807bf2d5371c3e00080c972be568c3f8a7d1 (patch) | |
| tree | 3511cfbb0098374a82d1ab0cbafdb6da9dad8bcf /tools/perf/scripts/python/gecko.py | |
| parent | mm/mglru: respect min_ttl_ms with memcgs (diff) | |
| download | kernel-4376807bf2d5371c3e00080c972be568c3f8a7d1.tar.gz kernel-4376807bf2d5371c3e00080c972be568c3f8a7d1.zip | |
mm/mglru: reclaim offlined memcgs harder
In the effort to reduce zombie memcgs [1], it was discovered that the
memcg LRU doesn't apply enough pressure on offlined memcgs. Specifically,
instead of rotating them to the tail of the current generation
(MEMCG_LRU_TAIL) for a second attempt, it moves them to the next
generation (MEMCG_LRU_YOUNG) after the first attempt.
Not applying enough pressure on offlined memcgs can cause them to build
up, and this can be particularly harmful to memory-constrained systems.
On Pixel 8 Pro, launching apps for 50 cycles:
Before After Change
Zombie memcgs 45 35 -22%
[1] https://lore.kernel.org/CABdmKX2M6koq4Q0Cmp_-=wbP0Qa190HdEGGaHfxNS05gAkUtPA@mail.gmail.com/
Link: https://lkml.kernel.org/r/[email protected]
Fixes: e4dde56cd208 ("mm: multi-gen LRU: per-node lru_gen_folio lists")
Signed-off-by: Yu Zhao <[email protected]>
Reported-by: T.J. Mercier <[email protected]>
Tested-by: T.J. Mercier <[email protected]>
Cc: Charan Teja Kalla <[email protected]>
Cc: Hillf Danton <[email protected]>
Cc: Jaroslav Pulchart <[email protected]>
Cc: Kairui Song <[email protected]>
Cc: Kalesh Singh <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/gecko.py')
0 files changed, 0 insertions, 0 deletions
