On Fri, Nov 20, 2020 at 10:54:22AM +0100, Andrey Zhizhikin wrote: > On Fri, Nov 20, 2020 at 8:39 AM Salvatore Bonaccorso <carnil@xxxxxxxxxx> wrote: > > > > This reverts commit 168200b6d6ea0cb5765943ec5da5b8149701f36a upstream. > > (but only from 4.19.y) > > This revert would fail the build of 4.19.y with gcc10, I believe the > original commit was introduced to address exactly this case. If this > is intended behavior that 4.19.y is not compiled with newer gcc > versions - then this revert is OK. The original commit has a dependency for commit 95c6fe970a01 ("perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata"). If the commit 95c6fe970a01 is not backported on v4.19.y, then I think reverting in this patch is the right way to do. Thanks, Leo > > The original commit introduces a build failure as seen on Debian buster > > when compiled with gcc (Debian 8.3.0-6) 8.3.0: > > > > $ LC_ALL=C.UTF-8 ARCH=x86 make perf > > [...] > > Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h' > > CC util/cs-etm-decoder/cs-etm-decoder.o > > CC util/intel-pt.o > > util/cs-etm-decoder/cs-etm-decoder.c: In function 'cs_etm_decoder__buffer_packet': > > util/cs-etm-decoder/cs-etm-decoder.c:287:24: error: 'traceid_list' undeclared (first use in this function); did you mean 'trace_event'? > > inode = intlist__find(traceid_list, trace_chan_id); > > ^~~~~~~~~~~~ > > trace_event > > util/cs-etm-decoder/cs-etm-decoder.c:287:24: note: each undeclared identifier is reported only once for each function it appears in > > make[6]: *** [/build/linux-stable/tools/build/Makefile.build:97: util/cs-etm-decoder/cs-etm-decoder.o] Error 1 > > make[5]: *** [/build/linux-stable/tools/build/Makefile.build:139: cs-etm-decoder] Error 2 > > make[5]: *** Waiting for unfinished jobs.... > > make[4]: *** [/build/linux-stable/tools/build/Makefile.build:139: util] Error 2 > > make[3]: *** [Makefile.perf:633: libperf-in.o] Error 2 > > make[2]: *** [Makefile.perf:206: sub-make] Error 2 > > make[1]: *** [Makefile:70: all] Error 2 > > make: *** [Makefile:77: perf] Error 2 > > > > Link: https://lore.kernel.org/stable/20201114083501.GA468764@xxxxxxxxxxx/ > > Cc: Leo Yan <leo.yan@xxxxxxxxxx> > > Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> > > Cc: Jiri Olsa <jolsa@xxxxxxxxxx> > > Cc: Mark Rutland <mark.rutland@xxxxxxx> > > Cc: Namhyung Kim <namhyung@xxxxxxxxxx> > > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > > Cc: Suzuki Poulouse <suzuki.poulose@xxxxxxx> > > Cc: Tor Jeremiassen <tor@xxxxxx> > > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > > Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > > Cc: Guenter Roeck <linux@xxxxxxxxxxxx> > > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > Cc: <stable@xxxxxxxxxxxxxxx> # 4.19.y > > Signed-off-by: Salvatore Bonaccorso <carnil@xxxxxxxxxx> > > --- > > tools/perf/util/cs-etm.c | 3 --- > > tools/perf/util/cs-etm.h | 3 +++ > > 2 files changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c > > index ad33b99f5d21..7b5e15cc6b71 100644 > > --- a/tools/perf/util/cs-etm.c > > +++ b/tools/perf/util/cs-etm.c > > @@ -87,9 +87,6 @@ struct cs_etm_queue { > > struct cs_etm_packet *packet; > > }; > > > > -/* RB tree for quick conversion between traceID and metadata pointers */ > > -static struct intlist *traceid_list; > > - > > static int cs_etm__update_queues(struct cs_etm_auxtrace *etm); > > static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm, > > pid_t tid, u64 time_); > > diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h > > index c7ef97b198c7..37f8d48179ca 100644 > > --- a/tools/perf/util/cs-etm.h > > +++ b/tools/perf/util/cs-etm.h > > @@ -53,6 +53,9 @@ enum { > > CS_ETMV4_PRIV_MAX, > > }; > > > > +/* RB tree for quick conversion between traceID and CPUs */ > > +struct intlist *traceid_list; > > + > > #define KiB(x) ((x) * 1024) > > #define MiB(x) ((x) * 1024 * 1024) > > > > -- > > 2.29.2 > > > > > -- > Regards, > Andrey.