Files
linux/include/linux
Yu Zhao 4376807bf2 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/20231208061407.2125867-4-yuzhao@google.com
Fixes: e4dde56cd2 ("mm: multi-gen LRU: per-node lru_gen_folio lists")
Signed-off-by: Yu Zhao <yuzhao@google.com>
Reported-by: T.J. Mercier <tjmercier@google.com>
Tested-by: T.J. Mercier <tjmercier@google.com>
Cc: Charan Teja Kalla <quic_charante@quicinc.com>
Cc: Hillf Danton <hdanton@sina.com>
Cc: Jaroslav Pulchart <jaroslav.pulchart@gooddata.com>
Cc: Kairui Song <ryncsn@gmail.com>
Cc: Kalesh Singh <kaleshsingh@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-12-12 17:20:20 -08:00
..
2023-10-05 09:13:42 -07:00
2023-10-24 13:08:14 -07:00
2023-11-04 10:22:52 +01:00
2023-09-18 09:28:22 +01:00
2023-09-11 08:13:18 +00:00
2023-11-10 13:54:58 +00:00
2023-10-11 08:46:01 -07:00
2023-09-22 08:52:13 -06:00
2023-11-01 22:33:53 -07:00
2023-10-04 10:41:56 -07:00
2023-10-04 10:41:56 -07:00
2023-09-11 23:59:47 -04:00
2023-09-13 10:48:48 +02:00
2023-10-12 09:58:02 +02:00
2023-10-11 10:11:54 -07:00
2023-10-18 14:43:21 -07:00
2023-10-04 10:41:57 -07:00
2023-10-16 12:44:06 -04:00
2023-10-16 12:44:06 -04:00
2023-11-13 11:02:30 +00:00
2023-10-18 10:01:33 +02:00
2023-12-12 17:20:17 -08:00
2023-11-15 04:18:31 +01:00
2023-09-29 17:20:46 -07:00
2023-10-03 21:18:13 +02:00
2023-11-10 09:20:55 +01:00
2023-10-06 11:01:23 +02:00
2023-10-06 11:01:23 +02:00
2023-09-11 22:10:47 +02:00
2023-10-15 13:19:42 +01:00
2023-11-01 10:02:18 +00:00
2023-10-18 14:43:21 -07:00
2023-11-03 09:16:42 +00:00
2023-10-18 14:43:21 -07:00
2023-09-14 16:16:36 +02:00
2023-12-06 16:12:48 -08:00
2023-10-18 14:34:18 -07:00