Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8ac8606 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

tools build: Add test for presence of numa_num_possible_cpus() in libnuma

The existing numa test checks only if numa.h and numa_available() are
present, but that can be satisfied with an old libnuma that is not
enough for the 'perf bench numa' entry, so add a test to check for that:

  [acme@rhel5 linux]$  make NO_AUXTRACE=1 NO_LIBPERL=1 -C tools/perf O=/tmp/build/perf install-bin
  make: Entering directory `/home/acme/git/linux/tools/perf'
    BUILD:   Doing 'make -j2' parallel build

  Auto-detecting system features:
  ...                        libelf: [ on  ]
  ...                       libnuma: [ on  ]
  ...        numa_num_possible_cpus: [ OFF ]
  ...                       libperl: [ on  ]

  <SNIP>
  config/Makefile:577: Old numa library found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev >= 2.0.8
    INSTALL  binaries
  <SNIP>

This fixes the build on old systems such as RHEL/CentOS 5.11.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Victor Kamensky <victor.kamensky@linaro.org>
Cc: Vinson Lee <vlee@twopensource.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-zqriqkezppi2de2iyjin1tnc@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 179f36dd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ FEATURE_TESTS ?= \
	libelf-getphdrnum		\
	libelf-mmap			\
	libnuma				\
	numa_num_possible_cpus		\
	libperl				\
	libpython			\
	libpython-version		\
@@ -61,6 +62,7 @@ FEATURE_DISPLAY ?= \
	libbfd				\
	libelf				\
	libnuma				\
	numa_num_possible_cpus		\
	libperl				\
	libpython			\
	libslang			\
+4 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ FILES= \
	test-libelf-getphdrnum.bin	\
	test-libelf-mmap.bin		\
	test-libnuma.bin		\
	test-numa_num_possible_cpus.bin	\
	test-libperl.bin		\
	test-libpython.bin		\
	test-libpython-version.bin	\
@@ -87,6 +88,9 @@ test-libelf-getphdrnum.bin:
test-libnuma.bin:
	$(BUILD) -lnuma

test-numa_num_possible_cpus.bin:
	$(BUILD) -lnuma

test-libunwind.bin:
	$(BUILD) -lelf

+5 −0
Original line number Diff line number Diff line
@@ -77,6 +77,10 @@
# include "test-libnuma.c"
#undef main

#define main main_test_numa_num_possible_cpus
# include "test-numa_num_possible_cpus.c"
#undef main

#define main main_test_timerfd
# include "test-timerfd.c"
#undef main
@@ -136,6 +140,7 @@ int main(int argc, char *argv[])
	main_test_libbfd();
	main_test_backtrace();
	main_test_libnuma();
	main_test_numa_num_possible_cpus();
	main_test_timerfd();
	main_test_stackprotector_all();
	main_test_libdw_dwarf_unwind();
+6 −0
Original line number Diff line number Diff line
#include <numa.h>

int main(void)
{
	return numa_num_possible_cpus();
}
+8 −3
Original line number Diff line number Diff line
@@ -572,12 +572,17 @@ ifndef NO_LIBNUMA
  ifeq ($(feature-libnuma), 0)
    msg := $(warning No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev);
    NO_LIBNUMA := 1
  else
    ifeq ($(feature-numa_num_possible_cpus), 0)
      msg := $(warning Old numa library found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev >= 2.0.8);
      NO_LIBNUMA := 1
    else
      CFLAGS += -DHAVE_LIBNUMA_SUPPORT
      EXTLIBS += -lnuma
      $(call detected,CONFIG_NUMA)
    endif
  endif
endif

ifdef HAVE_KVM_STAT_SUPPORT
    CFLAGS += -DHAVE_KVM_STAT_SUPPORT