Messages in this thread | | | Subject | Re: [PATCH v3 2/5] selftests/resctrl: Make resctrl_tests run using kselftest framework | From | Shuah Khan <> | Date | Wed, 23 Feb 2022 17:13:21 -0700 |
| |
On 2/22/22 12:55 AM, tan.shaopeng@fujitsu.com wrote: > Hi Khan, > >> On 2/15/22 7:26 PM, Shaopeng Tan wrote: >>> In kselftest framework, all tests can be build/run at a time, and a >>> sub test also can be build/run individually. As follows: >>> $ make -C tools/testing/selftests run_tests $ make -C >>> tools/testing/selftests TARGETS=ptrace run_tests >>> >>> However, resctrl_tests cannot be run using kselftest framework, users >>> have to change directory to tools/testing/selftests/resctrl/, run >>> "make" to build executable file "resctrl_tests", and run "sudo >>> ./resctrl_tests" to execute the test. >>> >>> To build/run resctrl_tests using kselftest framework. >>> Modify tools/testing/selftests/Makefile and >>> tools/testing/selftests/resctrl/Makefile. >>> >>> Even after this change, users can still build/run resctrl_tests >>> without using framework as before. >>> >>> Signed-off-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com> >>> --- >>> Some important feedbacks from v1&v2 are addressed as follows: >>> >>> - The changelog mentions that changes were made to the resctrl >>> selftest Makefile but it does not describe what the change accomplish >>> or why they are needed. >>> => By changing the Makefile, resctrl_tests can use kselftest >>> framework like other sub tests. I described this in changelog. >>> >>> - The changelog did not describe how a user may use the kselftest >>> framework to run the resctrl tests nor the requested information >>> on how existing workflows are impacted. >>> => I described how to build/run resctrl_tests with kselftest framework, >>> and described the existing workflows are not impacted that users can >>> build/run resctrl_tests without using kselftest framework as before. >>> >>> - tools/testing/selftests/resctrl/README should be updated. >>> => I separate the update of README to a new patch.[patch v3 3/5] >>> >>> - Why is the meaning of "EXTRA_SOURCES" (i.e. what is "extra"?) and >>> why is "SRCS" no longer sufficient? >>> => I referred to other Makefiles, and found "SRCS" is better >>> than "EXTRA_SOURCES". So, I updated it to use "SRCS". >>> >>> tools/testing/selftests/Makefile | 1 + >>> tools/testing/selftests/resctrl/Makefile | 20 ++++++-------------- >>> 2 files changed, 7 insertions(+), 14 deletions(-) >>> >>> diff --git a/tools/testing/selftests/Makefile >>> b/tools/testing/selftests/Makefile >>> index c852eb40c4f7..7df397c6893c 100644 >>> --- a/tools/testing/selftests/Makefile >>> +++ b/tools/testing/selftests/Makefile >>> @@ -51,6 +51,7 @@ TARGETS += proc >>> TARGETS += pstore >>> TARGETS += ptrace >>> TARGETS += openat2 >>> +TARGETS += resctrl >>> TARGETS += rlimits >>> TARGETS += rseq >>> TARGETS += rtc >>> diff --git a/tools/testing/selftests/resctrl/Makefile >>> b/tools/testing/selftests/resctrl/Makefile >>> index 6bcee2ec91a9..de26638540ba 100644 >>> --- a/tools/testing/selftests/resctrl/Makefile >>> +++ b/tools/testing/selftests/resctrl/Makefile >>> @@ -1,17 +1,9 @@ >>> -CC = $(CROSS_COMPILE)gcc >>> -CFLAGS = -g -Wall -O2 -D_FORTIFY_SOURCE=2 -SRCS=$(wildcard *.c) >>> -OBJS=$(SRCS:.c=.o) >>> +CFLAGS += -g -Wall -O2 -D_FORTIFY_SOURCE=2 >>> >>> -all: resctrl_tests >>> +TEST_GEN_PROGS := resctrl_tests >>> +SRCS := $(wildcard *.c) >>> >>> -$(OBJS): $(SRCS) >>> - $(CC) $(CFLAGS) -c $(SRCS) >>> +all: $(TEST_GEN_PROGS) >>> >>> -resctrl_tests: $(OBJS) >>> - $(CC) $(CFLAGS) -o $@ $^ >>> - >>> -.PHONY: clean >>> - >>> -clean: >>> - $(RM) $(OBJS) resctrl_tests >>> +$(TEST_GEN_PROGS): $(SRCS) >> >> This patch breaks the test build - the below use-cases fail >> >> make kselftest-all TARGETS=resctrl >> make -C tools/testing/selftests/ TARGETS=resctrl >> >> Also a simple make in tools/testing/selftests/resctr > > Thanks for your feedbacks. > I applied these patches to the source below and built > resctrl_tests successfully using above use-cases on x86/arm machine. > (1) > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > Tag: v5.16 > (2) > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git > Tag: next-20220217 > > Could you tell me which kernel source you used to build > and what error message you got? >
I tried this on Linux 5.17-rc4
thanks, -- Shuah
| |