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

Reply via email to