From: ZhoupingLiu <zl...@re...> - 2012-03-19 10:29:48
|
On 03/19/2012 04:18 PM, Wanlong Gao wrote: > On 03/19/2012 04:03 PM, Zhouping Liu wrote: > >> 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<zl...@re...> > > Looks good to me except the typo. thanks Zhouping. Wanlong, Thanks for your reviewing. I have sent a v3, please review it again. thanks, Zhouping > > Reviewed-by: Wanlong Gao<gao...@cn...> > > Regards, > Wanlong Gao > >> --- >> 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(); > |