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.

Reply via email to