Fork out a new function set_global_mempolicy() from the
previous testoom() func, which will be useful for other func.

Tested-by: Wanlong Gao <[email protected]>
Signed-off-by: Zhouping Liu <[email protected]>
---
 testcases/kernel/mem/include/mem.h |  3 ++-
 testcases/kernel/mem/lib/mem.c     | 13 +++++++++++--
 testcases/kernel/mem/thp/thp04.c   |  2 +-
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/testcases/kernel/mem/include/mem.h 
b/testcases/kernel/mem/include/mem.h
index cc8b86c..c9e0540 100644
--- a/testcases/kernel/mem/include/mem.h
+++ b/testcases/kernel/mem/include/mem.h
@@ -39,7 +39,8 @@ void testoom(int mempolicy, int lite);
 
 int opt_nr_children, opt_nr_thps;
 char *opt_nr_children_str, *opt_nr_thps_str;
-void test_transparent_hugepage(int nr_children, int nr_thps, int hg_aligned);
+void test_transparent_hugepage(int nr_children, int nr_thps,
+                              int hg_aligned, int mempolicy);
 void check_thp_options(int *nr_children, int *nr_thps);
 void thp_usage(void);
 
diff --git a/testcases/kernel/mem/lib/mem.c b/testcases/kernel/mem/lib/mem.c
index fa5694a..f6aa351 100644
--- a/testcases/kernel/mem/lib/mem.c
+++ b/testcases/kernel/mem/lib/mem.c
@@ -91,7 +91,7 @@ void oom(int testcase, int lite)
        }
 }
 
-void testoom(int mempolicy, int lite)
+static void set_global_mempolicy(int mempolicy)
 {
 #if HAVE_NUMA_H && HAVE_LINUX_MEMPOLICY_H && HAVE_NUMAIF_H \
        && HAVE_MPOL_CONSTANTS
@@ -133,6 +133,11 @@ void testoom(int mempolicy, int lite)
                        tst_brkm(TBROK|TERRNO, cleanup, "set_mempolicy");
        }
 #endif
+}
+
+void testoom(int mempolicy, int lite)
+{
+       set_global_mempolicy(mempolicy);
 
        tst_resm(TINFO, "start normal OOM testing.");
        oom(NORMAL, lite);
@@ -613,12 +618,16 @@ static void verify_thp_size(int *children, int 
nr_children, int nr_thps)
        }
 }
 
-void test_transparent_hugepage(int nr_children, int nr_thps, int hg_aligned)
+void test_transparent_hugepage(int nr_children, int nr_thps,
+                              int hg_aligned, int mempolicy)
 {
        unsigned long hugepagesize, memfree;
        int i, *pids, ret, status;
        char path[BUFSIZ];
 
+       if (mempolicy)
+               set_global_mempolicy(mempolicy);
+
        memfree = read_meminfo("MemFree:");
        tst_resm(TINFO, "The current MemFree is %luMB", memfree / KB);
        if (memfree < MB)
diff --git a/testcases/kernel/mem/thp/thp04.c b/testcases/kernel/mem/thp/thp04.c
index 0c70634..d84a3f5 100644
--- a/testcases/kernel/mem/thp/thp04.c
+++ b/testcases/kernel/mem/thp/thp04.c
@@ -83,7 +83,7 @@ int main(int argc, char *argv[])
        for (lc = 0; TEST_LOOPING(lc); lc++) {
                tst_count = 0;
 
-               test_transparent_hugepage(nr_children, nr_thps, 1);
+               test_transparent_hugepage(nr_children, nr_thps, 1, 0);
        }
 
        cleanup();
-- 
1.7.11.7


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to