Re: [PATCH 28/79] libperf: Add perf_cpu_map struct

From: Jiri Olsa
Date: Sun Aug 18 2019 - 15:40:38 EST


On Sun, Aug 18, 2019 at 07:04:36AM -0700, Guenter Roeck wrote:
> On Sun, Jul 21, 2019 at 01:24:15PM +0200, Jiri Olsa wrote:
> > Adding perf_cpu_map struct into libperf.
> >
> > It's added as a declaration into into:
> > include/perf/cpumap.h
> > which will be included by users.
> >
> > The perf_cpu_map struct definition is added into:
> > include/internal/cpumap.h
> >
> > which is not to be included by users, but shared
> > within perf and libperf.
> >
> > We tried the total separation of the perf_cpu_map struct
> > in libperf, but it lead to complications and much bigger
> > changes in perf code, so we decided to share the declaration.
> >
> > Link: http://lkml.kernel.org/n/tip-vhtr6a8apr7vkh2tou0r8896@xxxxxxxxxxxxxx
> > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
>
> Hi,
>
> this patch causes out-of-tree builds (make O=<destdir>) to fail.
>
> In file included from tools/include/asm/atomic.h:6:0,
> from include/linux/atomic.h:5,
> from tools/include/linux/refcount.h:41,
> from cpumap.c:4: tools/include/asm/../../arch/x86/include/asm/atomic.h:11:10:
> fatal error: asm/cmpxchg.h: No such file or directory
>
> Bisect log attached.

hi,
I dont see any problem with v5.3-rc4, could you please send
the full compilation log (after make clean) from:

$ make V=1 <your options>

also I can't make sense of that bisect, because I can't find
some of those commits.. what tree are you in?

thanks,
jirka

>
> Guenter
>
> ---
> # bad: [0c3d3d648b3ed72b920a89bc4fd125e9b7aa5f23] Add linux-next specific files for 20190816
> # good: [d45331b00ddb179e291766617259261c112db872] Linux 5.3-rc4
> git bisect start 'HEAD' 'v5.3-rc4'
> # good: [4e6eaeb715ab76095f7ea03fa5926c7aa541361e] Merge remote-tracking branch 'crypto/master'
> git bisect good 4e6eaeb715ab76095f7ea03fa5926c7aa541361e
> # good: [ef1c67aa73f33a29e3df672998056f18cb51468d] Merge remote-tracking branch 'sound-asoc/for-next'
> git bisect good ef1c67aa73f33a29e3df672998056f18cb51468d
> # bad: [f414a0d92534d55591e3c295f37f8db40d08659a] Merge remote-tracking branch 'char-misc/char-misc-next'
> git bisect bad f414a0d92534d55591e3c295f37f8db40d08659a
> # bad: [07f45358f90398b3bc44914a863317285a5dac55] Merge remote-tracking branch 'tip/auto-latest'
> git bisect bad 07f45358f90398b3bc44914a863317285a5dac55
> # good: [b8c9806513153eb258f565b2f359958a94c93816] Merge remote-tracking branch 'watchdog/master'
> git bisect good b8c9806513153eb258f565b2f359958a94c93816
> # bad: [7b9063c0c1c0b54db5eca8e4c36a926ee6234280] Merge branch 'sched/core'
> git bisect bad 7b9063c0c1c0b54db5eca8e4c36a926ee6234280
> # bad: [03617c22e31f32cbf0e4797e216db898fb898d90] libperf: Add threads to struct perf_evlist
> git bisect bad 03617c22e31f32cbf0e4797e216db898fb898d90
> # good: [5972d1e07bd95c7458e2d7f484391d69008affc7] perf evsel: Rename perf_evsel__open() to evsel__open()
> git bisect good 5972d1e07bd95c7458e2d7f484391d69008affc7
> # bad: [285a30c36d1e18e7e2afa24dae50ba5596be45e7] libperf: Add perf_evlist and perf_evsel structs
> git bisect bad 285a30c36d1e18e7e2afa24dae50ba5596be45e7
> # good: [47f9bccc79cb067103ad5e9790e0d01c94839429] libperf: Add build version support
> git bisect good 47f9bccc79cb067103ad5e9790e0d01c94839429
> # bad: [397721e06e52d017cfdd403f63284ed0995d4caf] libperf: Add perf_cpu_map__dummy_new() function
> git bisect bad 397721e06e52d017cfdd403f63284ed0995d4caf
> # good: [5b7f445d684fc287a2101e29d42d1fee19ae14ff] libperf: Add perf/core.h header
> git bisect good 5b7f445d684fc287a2101e29d42d1fee19ae14ff
> # bad: [959b83c769389b24d64759f60e64c4c62620ff02] libperf: Add perf_cpu_map struct
> git bisect bad 959b83c769389b24d64759f60e64c4c62620ff02
> # good: [a1556f8479ed58b8d5a33aef54578bad0165c7e7] libperf: Add debug output support
> git bisect good a1556f8479ed58b8d5a33aef54578bad0165c7e7
> # first bad commit: [959b83c769389b24d64759f60e64c4c62620ff02] libperf: Add perf_cpu_map struct