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
