[Devel] [PATCH rh7 v3 0/8] oom enhancements - part 2

Kirill Tkhai ktkhai at odin.com
Tue Sep 15 04:14:52 PDT 2015



On 13.09.2015 16:42, Vladimir Davydov wrote:
>  - 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 drops unused OOM_SCAN_ABORT
>  - Patch 5 introduces oom timeout.
>    https://jira.sw.ru/browse/PSBM-38581
>  - Patch 6 makes oom fairer when it comes to selecting a victim among
>    different containers.
>    https://jira.sw.ru/browse/PSBM-37915
>  - Patch 7 prepares oom for introducing berserker mode
>  - Patch 8 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 v3:
>  - rework oom_trylock (patch 3)
>  - select exiting process instead of aborting oom scan so as not to keep
>    busy-waiting for an exiting process to exit (patches 3, 4)
>  - cleanup oom timeout handling + fix stuck process trace dumped
>    multiple times on timeout (patch 5)
>  - set max_overdraft to ULONG_MAX on selected processes (patch 6)
>  - rework oom berserker process selection logic (patches 7, 8)
> 
> 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 (8):
>   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: drop OOM_SCAN_ABORT
>   oom: rework logic behind memory.oom_guarantee
>   oom: pass points and overdraft to oom_kill_process
>   oom: resurrect berserker mode
> 
>  fs/proc/base.c             |   2 +-
>  include/linux/memcontrol.h |  33 ++-
>  include/linux/oom.h        |  46 +++-
>  kernel/sysctl.c            |   7 +
>  mm/memcontrol.c            | 235 +++++++--------------
>  mm/oom_kill.c              | 509 ++++++++++++++++++++++++++++++++++++---------
>  mm/page_alloc.c            |   6 +-
>  net/packet/af_packet.c     |   4 +-
>  8 files changed, 562 insertions(+), 280 deletions(-)
> 

Reviewed-by: Kirill Tkhai <ktkhai at odin.com>



More information about the Devel mailing list