On Sat, 28 Mar 2026 10:12:06 +0800 Li Wang <[email protected]> wrote:
> On Fri, Mar 27, 2026 at 02:32:34PM -0700, Andrew Morton wrote: > > > > whinges, perrmanits, maybe I'm doing it wrong, etc. > > > > a) > > > > At the top-level, neither `make mrproper' nor `make clean' remove the > > executables from tools/testing/selftests/mm/. Seems wrong? > > > > b) > > > > Shouldn't I be able to run > > > > make selftests > > > > from the top level? > > Should use: > > make kselftest > make kselftest-clean Thanks. > Those two binaries (*_32 / *_64) are built by custom rules in mm/Makefile. > (Makefile: line #218, #226). > > Other tests use shared rules from ../lib.mk, which are quieter (they hide > full commands and show short CC ... lines). > > Maybe we need: > > --- a/tools/testing/selftests/mm/Makefile > +++ b/tools/testing/selftests/mm/Makefile > @@ -215,7 +215,8 @@ ifeq ($(CAN_BUILD_I386),1) > $(BINARIES_32): CFLAGS += -m32 -mxsave > $(BINARIES_32): LDLIBS += -lrt -ldl -lm > $(BINARIES_32): $(OUTPUT)/%_32: %.c > - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(notdir $^) $(LDLIBS) -o $@ > + $(call msg,CC,,$@) > + $(Q)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(notdir $^) $(LDLIBS) -o $@ > $(foreach t,$(VMTARGETS),$(eval $(call gen-target-rule-32,$(t)))) > endif > > @@ -223,7 +224,8 @@ ifeq ($(CAN_BUILD_X86_64),1) > $(BINARIES_64): CFLAGS += -m64 -mxsave > $(BINARIES_64): LDLIBS += -lrt -ldl > $(BINARIES_64): $(OUTPUT)/%_64: %.c > - $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(notdir $^) $(LDLIBS) -o $@ > + $(call msg,CC,,$@) > + $(Q)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(notdir $^) $(LDLIBS) -o $@ > $(foreach t,$(VMTARGETS),$(eval $(call gen-target-rule-64,$(t)))) > endif OK, minor thing of course. > > d) within tools/testing/selftests/mm: > > > > make clean > > make -j100 > > > > compiles 3-4 things then ends. > > > > A subsequent `make -j1' compiles nothing. > > Sorry, I wan't able to reproduce it. > Did you mean -j100 only build few source file but not the whole? Yes. On my 128 core machine everything up to -j50 works. -j51 and higher do this. Another (32 core) machine runs -j100 successfully. Weird.
