[PATCH 0/3] mm: improve proportional memcg protection

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

 



Since proportional memory.{min, low} reclaim is introduced in
commit 9783aa9917f8 ("mm, memcg: proportional memory.{low,min} reclaim"),
it have been proved that the proportional reclaim is hard to understand and
the issues caused by it is harder to understand.[1]. That dilemma faced by
us is caused by that the proportional reclaim mixed up memcg and the
reclaim context.

In proportional reclaim, the whole reclaim context - includes the memcg
to be reclaimed and the reclaimer, should be considered, rather than
memcg only.

To make it clear, a new member 'protection' is introduced in the reclaim
context (struct shrink_control) to replace mem_cgroup_protection(). This
one is set when we check whether the memcg is protected or not.

After this change, the issue pointed by me[1] - a really old left-over
value can slow down target reclaim - can be fixed, and I think it could
also avoid some potential race.

Patch #1 and patch #2 is the preparation of patch #3.

[1]. https://lore.kernel.org/linux-mm/20200423061629.24185-1-laoar.shao@xxxxxxxxx

Yafang Shao (3):
  mm: move struct scan_control into internal.h
  mm: add reclaim context as a new parameter in mem_cgroup_protected()
  mm: improvements on memcg protection functions

 include/linux/memcontrol.h |  34 -----------
 mm/internal.h              | 101 +++++++++++++++++++++++++++++++
 mm/memcontrol.c            |  66 +++++++++++++++------
 mm/vmscan.c                | 118 ++-----------------------------------
 4 files changed, 152 insertions(+), 167 deletions(-)

-- 
2.18.2





[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