Re: [PATCH v6 1/2] selftests: vm: bring common functions to a new file

From: Nico Pache
Date: Thu Sep 08 2022 - 23:09:42 EST




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