aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2015-09-17 11:20:28 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-09-17 12:14:35 -0400
commitf8ac8606fd3cd72183de8eec2b151ff05040c70f (patch)
tree99430a2e85bbab9c1ec12951fd5cfd19bff5d9a0
parent179f36dde3cec0f9f05a757b68f6a58e4edbcc95 (diff)
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: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/build/Makefile.feature2
-rw-r--r--tools/build/feature/Makefile4
-rw-r--r--tools/build/feature/test-all.c5
-rw-r--r--tools/build/feature/test-numa_num_possible_cpus.c6
-rw-r--r--tools/perf/config/Makefile11
5 files changed, 25 insertions, 3 deletions
diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
index 2975632d51e2..970242098a7c 100644
--- a/tools/build/Makefile.feature
+++ b/tools/build/Makefile.feature
@@ -41,6 +41,7 @@ FEATURE_TESTS ?= \
41 libelf-getphdrnum \ 41 libelf-getphdrnum \
42 libelf-mmap \ 42 libelf-mmap \
43 libnuma \ 43 libnuma \
44 numa_num_possible_cpus \
44 libperl \ 45 libperl \
45 libpython \ 46 libpython \
46 libpython-version \ 47 libpython-version \
@@ -61,6 +62,7 @@ FEATURE_DISPLAY ?= \
61 libbfd \ 62 libbfd \
62 libelf \ 63 libelf \
63 libnuma \ 64 libnuma \
65 numa_num_possible_cpus \
64 libperl \ 66 libperl \
65 libpython \ 67 libpython \
66 libslang \ 68 libslang \
diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 74ca42093d70..e13a42bd0274 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -19,6 +19,7 @@ FILES= \
19 test-libelf-getphdrnum.bin \ 19 test-libelf-getphdrnum.bin \
20 test-libelf-mmap.bin \ 20 test-libelf-mmap.bin \
21 test-libnuma.bin \ 21 test-libnuma.bin \
22 test-numa_num_possible_cpus.bin \
22 test-libperl.bin \ 23 test-libperl.bin \
23 test-libpython.bin \ 24 test-libpython.bin \
24 test-libpython-version.bin \ 25 test-libpython-version.bin \
@@ -87,6 +88,9 @@ test-libelf-getphdrnum.bin:
87test-libnuma.bin: 88test-libnuma.bin:
88 $(BUILD) -lnuma 89 $(BUILD) -lnuma
89 90
91test-numa_num_possible_cpus.bin:
92 $(BUILD) -lnuma
93
90test-libunwind.bin: 94test-libunwind.bin:
91 $(BUILD) -lelf 95 $(BUILD) -lelf
92 96
diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c
index 84689a67814a..7a8cdbad3e1b 100644
--- a/tools/build/feature/test-all.c
+++ b/tools/build/feature/test-all.c
@@ -77,6 +77,10 @@
77# include "test-libnuma.c" 77# include "test-libnuma.c"
78#undef main 78#undef main
79 79
80#define main main_test_numa_num_possible_cpus
81# include "test-numa_num_possible_cpus.c"
82#undef main
83
80#define main main_test_timerfd 84#define main main_test_timerfd
81# include "test-timerfd.c" 85# include "test-timerfd.c"
82#undef main 86#undef main
@@ -136,6 +140,7 @@ int main(int argc, char *argv[])
136 main_test_libbfd(); 140 main_test_libbfd();
137 main_test_backtrace(); 141 main_test_backtrace();
138 main_test_libnuma(); 142 main_test_libnuma();
143 main_test_numa_num_possible_cpus();
139 main_test_timerfd(); 144 main_test_timerfd();
140 main_test_stackprotector_all(); 145 main_test_stackprotector_all();
141 main_test_libdw_dwarf_unwind(); 146 main_test_libdw_dwarf_unwind();
diff --git a/tools/build/feature/test-numa_num_possible_cpus.c b/tools/build/feature/test-numa_num_possible_cpus.c
new file mode 100644
index 000000000000..2606e94b0659
--- /dev/null
+++ b/tools/build/feature/test-numa_num_possible_cpus.c
@@ -0,0 +1,6 @@
1#include <numa.h>
2
3int main(void)
4{
5 return numa_num_possible_cpus();
6}
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 827557fc7511..053e65b04dc3 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -573,9 +573,14 @@ ifndef NO_LIBNUMA
573 msg := $(warning No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev); 573 msg := $(warning No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev);
574 NO_LIBNUMA := 1 574 NO_LIBNUMA := 1
575 else 575 else
576 CFLAGS += -DHAVE_LIBNUMA_SUPPORT 576 ifeq ($(feature-numa_num_possible_cpus), 0)
577 EXTLIBS += -lnuma 577 msg := $(warning Old numa library found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev >= 2.0.8);
578 $(call detected,CONFIG_NUMA) 578 NO_LIBNUMA := 1
579 else
580 CFLAGS += -DHAVE_LIBNUMA_SUPPORT
581 EXTLIBS += -lnuma
582 $(call detected,CONFIG_NUMA)
583 endif
579 endif 584 endif
580endif 585endif
581 586