Hi Shuah, > On 2/22/22 12:55 AM, tan.shaopeng@xxxxxxxxxxx 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@xxxxxxxxxxxxxx> > >>> --- > >>> 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 I tried these patches on Linux 5.17-rc4 with gcc version 8.4.1 and resctrl_tests is still built successfully. Could you tell me what error message you got when you built it? Best regards, Tan Shaopeng