Re: arm/arm64 perf build issue with mainline

From: Will Deacon
Date: Mon May 11 2015 - 13:29:40 EST


On Mon, May 11, 2015 at 04:59:58PM +0100, acme@xxxxxxxxxx wrote:
> Em Mon, May 11, 2015 at 12:58:14PM -0300, acme@xxxxxxxxxx escreveu:
> > Em Mon, May 11, 2015 at 02:33:04PM +0200, Ingo Molnar escreveu:
> > > > That was already proposed here (as part of the fallback from getconf):
> > > >
> > > > https://lkml.kernel.org/r/20150427190356.GD474@xxxxxxxxxxxxxxxx
> > > >
> > > > but I'm not sure what happened to the patch.
> > >
> > > Sending out the latest/best version as a reminder for Arnaldo will
> > > sure help it along.
> > >
> > > Acked-by: Ingo Molnar <mingo@xxxxxxxxxx>
> >
> > IIRC it was merged already, lemme check...
>
> Yes, only for perf/core:

Ah, that explains why I couldn't see it in my tree. Could we get it in
for 4.1 please, as this is a regression for arm/arm64 (where the
auto-detection used to work fine)?

Cheers,

Will

>
> [acme@zoo linux]$ git show 762abdc0c6c013425958cd9f5105f4e32268d434
> commit 762abdc0c6c013425958cd9f5105f4e32268d434
> Author: Will Deacon <will.deacon@xxxxxxx>
> Date: Thu Apr 23 15:00:16 2015 +0100
>
> perf tools: Use getconf to determine number of online CPUs
>
> Parsing /proc/cpuinfo is a fiddly, arch-dependent business and a recent
> change to get it working for Sparc broke arm and arm64 platforms.
>
> Use sysconf to determine the number of online CPUs only parsing
> /proc/cpuinfo when sysconf is not available.
>
> Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> Tested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: David Ahern <david.ahern@xxxxxxxxxx>
> Cc: Mark Rutland <Mark.Rutland@xxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Link: http://lkml.kernel.org/r/20150423140454.GJ1652@xxxxxxx
> [ Made it fall back to parsing /proc when getconf not found ]
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> diff --git a/tools/perf/Makefile b/tools/perf/Makefile
> index c699dc35eef9..d31a7bbd7cee 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 || egrep -c '^processor|^CPU[0-9]' /proc/cpuinfo) 2>/dev/null)
> ifeq ($(JOBS),0)
> JOBS := 1
> endif
> [acme@zoo linux]$
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/