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? Best regards, Tan Shaopeng