[LTP] [PATCH v3 0/7] mm/oom: extend the coverage of OOM

Zhouping Liu
2013-03-18T04:16:08Z

changed log from v1 to v2:
1. added a new is_numa() function instead of ISNUMA global variable;
2. added new patch to remove the prefix underscroe '_' of the
internal function name;
3. used SAFE_FILE_SCANF() instead of read_file().
4. some cleanup...

changed log from v2 to v3:
1. as Jan's suggestion, pass 'nodes=NULL' to get_allowed_nodes_arr()
in is_numa(), and free 'nodes' variable when it passed a non-NULL
value inside testoom().

The patch set updated all OOM testcases, and added a new testcase.

Inside old version, OOM only test MPOL_MBIND mempolicy in NUMA
system, and the combination of CPUSET, MEMCG & NUMA is complex,
and not clear. Also CPUSET is only used in NUMA system.

These patch set adjust them, now we can coverage the below tests:
1) OOM under normal - oom01
2) OOM under all mempolicy - oom02
3) OOM under MEMCG (+ mempolicy) - oom03
4) OOM under CPUSET (+ mempolicy) - oom04
5) OOM under CPUSET & MEMCG - oom05

tested the V2 patch set, no regression found.

Zhouping Liu (7):
lib/mem: modified _gather_cpus() as _gather_node_cpus()
mm/oom02: modified 'OOM for NUMA' as 'OOM for mempolicy'
numa_helper: added a new function is_numa()
mm/oom0[3|4]: added 'OOM for CPUSET' and moved 'OOM with MEMCG &
numa' to oom03
lib/mem: updated testoom() and oom() funcs
mm/oom05: new testcase
lib/mem: removed the prefix underscore '_' of the internal function
name

runtest/mm | 1 +
testcases/kernel/include/numa_helper.h | 1 +
testcases/kernel/lib/numa_helper.c | 24 ++++++
testcases/kernel/mem/include/mem.h | 4 +-
testcases/kernel/mem/lib/mem.c | 147 +++++++++++++++++++++------------
testcases/kernel/mem/oom/oom01.c | 6 +-
testcases/kernel/mem/oom/oom02.c | 20 +++--
testcases/kernel/mem/oom/oom03.c | 24 +++++-
testcases/kernel/mem/oom/oom04.c | 60 ++++++--------
testcases/kernel/mem/oom/oom05.c | 147 +++++++++++++++++++++++++++++++++
10 files changed, 329 insertions(+), 105 deletions(-)
create mode 100644 testcases/kernel/mem/oom/oom05.c