Messages in this thread | | | Date | Thu, 23 Apr 2015 08:16:15 -0600 | From | David Ahern <> | Subject | Re: arm/arm64 perf build issue with mainline |
| |
On 4/23/15 8:04 AM, Will Deacon wrote: > From 28740111e81aa9247bf48e3125dc43cc31d94e6f Mon Sep 17 00:00:00 2001 > From: Will Deacon <will.deacon@arm.com> > Date: Thu, 23 Apr 2015 15:00:16 +0100 > Subject: [PATCH] tools: perf: use getconf to determine number of online CPUs > > Parsing /proc/cpuinfo is a fiddly, arch-dependent business anda recent > change to get it working for Sparc broke arm and arm64 platforms. > > Instead, use sysconf to determine the number of online CPUs and avoid > parsing /proc/cpuinfo entirely. > > Signed-off-by: Will Deacon <will.deacon@arm.com> > --- > tools/perf/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/Makefile b/tools/perf/Makefile > index c699dc35eef9..c26cb04ce6bd 100644 > --- a/tools/perf/Makefile > +++ b/tools/perf/Makefile > @@ -24,7 +24,7 @@ unexport MAKEFLAGS > # (To override it, run 'make JOBS=1' and similar.) > # > ifeq ($(JOBS),) > - JOBS := $(shell egrep -c '^processor|^CPU' /proc/cpuinfo 2>/dev/null) > + JOBS := $(shell getconf _NPROCESSORS_ONLN 2>/dev/null) > ifeq ($(JOBS),0) > JOBS := 1 > endif >
Certainly a more robust way of doing it but I am concerned this might end up breaking others. For Fedora at least getconf is in the glibc-common package and there are users that do not build with glibc. It is not clear if the build system for those environments will have getconf.
| |