[Devel] [PATCH rh7 v2 0/6] oom enhancements - part 2

Vladimir Davydov vdavydov at parallels.com
Fri Sep 11 08:18:00 PDT 2015


 - Patches 1-2 prepare memcg for upcoming changes in oom design.
 - Patch 3 reworks oom locking design so that the executioner waits for
   victim to exit. This is necessary to increase oom kill rate, which is
   essential for berserker mode.
 - Patch 4 introduces oom timeout.
   https://jira.sw.ru/browse/PSBM-38581
 - Patch 5 makes oom fairer when it comes to selecting a victim among
   different containers.
   https://jira.sw.ru/browse/PSBM-37915
 - Patch 6 resurrects oom berserker mode, which is supposed to cope with
   actively forking processes.
   https://jira.sw.ru/browse/PSBM-17930

https://jira.sw.ru/browse/PSBM-26973

Changes in v2:
 - s/time_after/time_after_eq to avoid BUG_ON in oom_trylock (patch 4)
 - propagate victim to the context that initiated oom in oom_unlock
   (patch 6)
 - always set oom_end on releasing oom context (patch 6)

Vladimir Davydov (6):
  memcg: add mem_cgroup_get/put helpers
  memcg: add lock for protecting memcg->oom_notify list
  oom: rework locking design
  oom: introduce oom timeout
  oom: rework logic behind memory.oom_guarantee
  oom: resurrect berserker mode

 fs/proc/base.c             |   2 +-
 include/linux/memcontrol.h |  53 +++++-
 include/linux/oom.h        |  41 ++++-
 kernel/sysctl.c            |   7 +
 mm/memcontrol.c            | 232 +++++++-----------------
 mm/oom_kill.c              | 441 +++++++++++++++++++++++++++++++++++++--------
 mm/page_alloc.c            |   6 +-
 net/packet/af_packet.c     |   4 +-
 8 files changed, 537 insertions(+), 249 deletions(-)

-- 
2.1.4




More information about the Devel mailing list