Hi Thomas, Thomas Gleixner <[email protected]> 於 2026年2月4日週三 上午5:35寫道: > > On Wed, Jan 28 2026 at 22:32, Nylon Chen wrote: > > > Use pkg-config --exists numa to derive HAVE_LIBNUMA. > > Only keep futex_numa_mpol in TEST_GEN_PROGS when libnuma is present. > > > > Signed-off-by: Zong Li <[email protected]> > > Signed-off-by: Nylon Chen <[email protected]> > > --- > > tools/testing/selftests/futex/functional/Makefile | 9 ++++++++- > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > diff --git a/tools/testing/selftests/futex/functional/Makefile > > b/tools/testing/selftests/futex/functional/Makefile > > index af7ec309ea78..ec3c39a51182 100644 > > --- a/tools/testing/selftests/futex/functional/Makefile > > +++ b/tools/testing/selftests/futex/functional/Makefile > > @@ -1,10 +1,10 @@ > > # SPDX-License-Identifier: GPL-2.0 > > PKG_CONFIG ?= pkg-config > > +HAVE_LIBNUMA := $(shell sh -c "$(PKG_CONFIG) --exists numa > /dev/null > > 2>&1 && echo y") > > LIBNUMA_TEST = $(shell sh -c "$(PKG_CONFIG) numa --atleast-version 2.0.16 > > > /dev/null 2>&1 && echo SUFFICIENT || echo NO") > > Why another test? LIBNUMA_TEST fails when it does not exist or when the > version number is not enough. You're right, LIBNUMA_TEST already covers the existence check. I'll remove the redundant HAVE_LIBNUMA variable. > > > INCLUDES := -I../include -I../../ $(KHDR_INCLUDES) > > CFLAGS := $(CFLAGS) -g -O2 -Wall -pthread -D_FILE_OFFSET_BITS=64 > > -D_TIME_BITS=64 $(INCLUDES) $(KHDR_INCLUDES) -DLIBNUMA_VER_$(LIBNUMA_TEST)=1 > > -LDLIBS := -lpthread -lrt -lnuma > > > > LOCAL_HDRS := \ > > ../include/futextest.h \ > > @@ -27,6 +27,13 @@ TEST_GEN_PROGS := \ > > > > TEST_PROGS := run.sh > > > > +ifeq ($(HAVE_LIBNUMA),y) > > +LDLIBS := -lpthread -lrt -lnuma > > +else > > +LDLIBS := -lpthread -lrt > > +TEST_GEN_PROGS := $(filter-out futex_numa_mpol,$(TEST_GEN_PROGS)) > > Why? The test contains more than just the libnuma dependend stuff. There > are two issues here: > > One is -lnuma, which is trivial to solve: > > LDLIBS := -lpthread -lrt > ifeq ($(LIBNUMA_TEST),SUFFICIENT) > LDLIBS += -lnuma > endif > > The other is the include <numa*.h> in the source. I assume you can > figure out how to prevent those headers from being included, right? > Thank you for the feedback. I'll update the patch to: 1. Use LIBNUMA_TEST instead of adding a new HAVE_LIBNUMA variable 2. Keep futex_numa_mpol in TEST_GEN_PROGS 3. Conditionally add -lnuma based on LIBNUMA_TEST 4. Use #ifdef LIBNUMA_VER_SUFFICIENT to guard the numa header includes and related code in the source file
I'll send a v2 shortly. Thanks, Nylon > Thanks, > > tglx

