On 4/20/22 04:40, Muhammad Usama Anjum wrote: > Bring common functions to a new file while keeping code as much same as > possible. These functions can be used in the new tests. This helps in > avoiding code duplication. This commit breaks a pattern in the way tests are run in the current scheme. Before this commit the only executable (or TEST_PROGS) that was executed was run_vmselftests.sh. Now both madv_populate and split_huge_page_test are being run as well. > > Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx> > --- > Changes in V6: > - Correct header files inclusion > > Changes in V5: > Keep moved code as same as possible > - Updated macros names > - Removed macro used to show bit number of dirty bit, added a comment > instead > - Corrected indentation > --- > tools/testing/selftests/vm/Makefile | 7 +- > tools/testing/selftests/vm/madv_populate.c | 34 +----- > .../selftests/vm/split_huge_page_test.c | 79 +------------ > tools/testing/selftests/vm/vm_util.c | 108 ++++++++++++++++++ > tools/testing/selftests/vm/vm_util.h | 9 ++ > 5 files changed, 124 insertions(+), 113 deletions(-) > create mode 100644 tools/testing/selftests/vm/vm_util.c > create mode 100644 tools/testing/selftests/vm/vm_util.h > > diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile > index 5e43f072f5b76..4e68edb26d6b6 100644 > --- a/tools/testing/selftests/vm/Makefile > +++ b/tools/testing/selftests/vm/Makefile > @@ -34,7 +34,7 @@ TEST_GEN_FILES += hugepage-mremap > TEST_GEN_FILES += hugepage-shm > TEST_GEN_FILES += hugepage-vmemmap > TEST_GEN_FILES += khugepaged > -TEST_GEN_FILES += madv_populate > +TEST_GEN_PROGS = madv_populate madv_populate is already being run in run_vmselftests.sh > TEST_GEN_FILES += map_fixed_noreplace > TEST_GEN_FILES += map_hugetlb > TEST_GEN_FILES += map_populate > @@ -47,7 +47,7 @@ TEST_GEN_FILES += on-fault-limit > TEST_GEN_FILES += thuge-gen > TEST_GEN_FILES += transhuge-stress > TEST_GEN_FILES += userfaultfd > -TEST_GEN_FILES += split_huge_page_test > +TEST_GEN_PROGS += split_huge_page_test > TEST_GEN_FILES += ksm_tests > > ifeq ($(MACHINE),x86_64) > @@ -91,6 +91,9 @@ TEST_FILES := test_vmalloc.sh > KSFT_KHDR_INSTALL := 1 > include ../lib.mk > > +$(OUTPUT)/madv_populate: vm_util.c > +$(OUTPUT)/split_huge_page_test: vm_util.c Not sure what this does but if we add a run entry for split_huge_page_test in run_vmselftests.sh we wont really need this patch. I'm not sure the reduction in code size is worth the change in run behavior. Unless I'm missing something I suggest we revert this patch and add a run entry for split_huge_page_test in run_vmselftests.sh. I can do this if no one objects. Cheers, -- Nico