Thread (18 messages) 18 messages, 4 authors, 2020-11-26

Re: [PATCH] Revert "perf cs-etm: Move definition of 'traceid_list' global variable from header file"

From: Leo Yan <hidden>
Date: 2020-11-20 11:20:16
Also in: stable

On Fri, Nov 20, 2020 at 10:54:22AM +0100, Andrey Zhizhikin wrote:
On Fri, Nov 20, 2020 at 8:39 AM Salvatore Bonaccorso [off-list ref] wrote:
quoted
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
quoted
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@eldamar.lan/ (local)
Cc: Leo Yan <redacted>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <redacted>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Tor Jeremiassen <redacted>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Arnaldo Carvalho de Melo <redacted>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <redacted> # 4.19.y
Signed-off-by: Salvatore Bonaccorso <redacted>
---
 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.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help