Since commit http://git.kernel.org/linus/a42c390cfa0c, which added an option to control memcg swap, when kernel neither set CGROUP_MEM_RES_CTLR_SWAP_ENABLED nor add 'swapcount=1' kernel parameter, that indicates memcg swap accounting is disabled, it will have no such file: memory.memsw.*, then oom03 & oom04 cases will fail.
The patch fixed it, removed memsw cases when memcg swap accounting is disabled, and add a TINFO: tst_resm(TINFO,"memcg swap accounting disabled"); Signed-off-by: Zhouping Liu <[email protected]> --- testcases/kernel/mem/oom/oom03.c | 14 ++++++++++++-- testcases/kernel/mem/oom/oom04.c | 32 ++++++++++++++++++++++---------- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/testcases/kernel/mem/oom/oom03.c b/testcases/kernel/mem/oom/oom03.c index b90d4d7..d5e598b 100644 --- a/testcases/kernel/mem/oom/oom03.c +++ b/testcases/kernel/mem/oom/oom03.c @@ -66,8 +66,18 @@ int main(int argc, char *argv[]) write_file(MEMCG_PATH_NEW "/memory.limit_in_bytes", mem); testoom(0, 0, 0); - write_file(MEMCG_PATH_NEW "/memory.memsw.limit_in_bytes", mem); - testoom(0, 1, 0); + if (access(MEMCG_PATH_NEW "/memory.memsw.limit_in_bytes", + F_OK) == -1) { + if (errno == ENOENT) + tst_resm(TINFO, + "memcg swap accounting disabled"); + else + tst_brkm(TBROK|TERRNO, NULL, "access"); + } else { + write_file(MEMCG_PATH_NEW + "/memory.memsw.limit_in_bytes", mem); + testoom(0, 1, 0); + } } cleanup(); tst_exit(); diff --git a/testcases/kernel/mem/oom/oom04.c b/testcases/kernel/mem/oom/oom04.c index fb35f96..2bbf4f1 100644 --- a/testcases/kernel/mem/oom/oom04.c +++ b/testcases/kernel/mem/oom/oom04.c @@ -76,16 +76,28 @@ int main(int argc, char *argv[]) tst_resm(TINFO, "process mempolicy."); testoom(1, 0, 1); - write_file(MEMCG_PATH_NEW "/memory.memsw.limit_in_bytes", mem); - testoom(1, 1, 1); - - tst_resm(TINFO, "process cpuset."); - - write_file(MEMCG_PATH_NEW "/memory.memsw.limit_in_bytes", "-1"); - testoom(0, 0, 1); - - write_file(MEMCG_PATH_NEW "/memory.memsw.limit_in_bytes", mem); - testoom(0, 1, 1); + if (access(MEMCG_PATH_NEW "/memory.memsw.limit_in_bytes", + F_OK) == -1) { + if (errno == ENOENT) + tst_resm(TINFO, + "memcg swap accounting disabled"); + else + tst_brkm(TBROK|TERRNO, NULL, "access"); + } else { + write_file(MEMCG_PATH_NEW + "/memory.memsw.limit_in_bytes", mem); + testoom(1, 1, 1); + + tst_resm(TINFO, "process cpuset."); + + write_file(MEMCG_PATH_NEW + "/memory.memsw.limit_in_bytes", "-1"); + testoom(0, 0, 1); + + write_file(MEMCG_PATH_NEW + "/memory.memsw.limit_in_bytes", mem); + testoom(0, 1, 1); + } } cleanup(); tst_exit(); -- 1.7.7.6 ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
