public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Revert "perf cs-etm: Move definition of 'traceid_list' global variable from header file"
@ 2020-11-20  7:39 Salvatore Bonaccorso
  2020-11-20  8:34 ` Greg Kroah-Hartman
  2020-11-20  9:54 ` Andrey Zhizhikin
  0 siblings, 2 replies; 18+ messages in thread
From: Salvatore Bonaccorso @ 2020-11-20  7:39 UTC (permalink / raw)
  To: stable
  Cc: Salvatore Bonaccorso, Leo Yan, Alexander Shishkin, Jiri Olsa,
	Mark Rutland, Namhyung Kim, Peter Zijlstra, Suzuki Poulouse,
	Tor Jeremiassen, linux-arm-kernel, Arnaldo Carvalho de Melo,
	Guenter Roeck, Greg Kroah-Hartman

This reverts commit 168200b6d6ea0cb5765943ec5da5b8149701f36a upstream.
(but only from 4.19.y)

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/
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
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 <tor@ti.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <stable@vger.kernel.org> # 4.19.y
Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
---
 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


^ permalink raw reply related	[flat|nested] 18+ messages in thread
* [PATCH 4.19.y only 0/2] Fix perf build failures
@ 2020-12-27  9:27 Salvatore Bonaccorso
  2020-12-27  9:27 ` [PATCH 1/2] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata Salvatore Bonaccorso
  0 siblings, 1 reply; 18+ messages in thread
From: Salvatore Bonaccorso @ 2020-12-27  9:27 UTC (permalink / raw)
  To: stable; +Cc: Greg Kroah-Hartman, Sasha Levin, Leo Yan, Salvatore Bonaccorso

Hi Greg, Sasha and all,

This is a resubmit of the patches already done in 
https://lore.kernel.org/stable/20201125201215.26455-1-carnil@debian.org/
and
https://lore.kernel.org/stable/20201125201215.26455-2-carnil@debian.org/

The issue can be explained as this. In

https://lore.kernel.org/stable/20201014135627.GA3698844@kroah.com/

on request 168200b6d6ea ("perf cs-etm: Move definition of 'traceid_list' global
variable from header file") was queued back to 4.19.y to fix build failures for
perf with more recent GCCs.

But for 4.19.y this was wrong because it missed to pick as well a dependency
needed, and in turn it caused build failures with older GCC (8.3.0 as used in
Debian stable in that case).

The commit was reverted in a later in 4.19.159.

It as though requested to try to allow as well compilation with more recent
GCCs (while obviously not breaking older GCC builds) and found that the cause
was just the missing dependency to pick up, namely pick 95c6fe970a01 ("perf
cs-etm: Change tuple from traceID-CPU# to traceID-metadata") before
168200b6d6ea ("perf cs-etm: Move definition of 'traceid_list' global variable
from header file").

Regards,
Salvatore

Leo Yan (2):
  perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata
  perf cs-etm: Move definition of 'traceid_list' global variable from
    header file

 .../perf/util/cs-etm-decoder/cs-etm-decoder.c |  8 ++---
 tools/perf/util/cs-etm.c                      | 29 +++++++++++++++----
 tools/perf/util/cs-etm.h                      | 10 +++++--
 3 files changed, 33 insertions(+), 14 deletions(-)

-- 
2.30.0.rc2


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-12-27  9:29 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-20  7:39 [PATCH] Revert "perf cs-etm: Move definition of 'traceid_list' global variable from header file" Salvatore Bonaccorso
2020-11-20  8:34 ` Greg Kroah-Hartman
2020-11-20  9:54 ` Andrey Zhizhikin
2020-11-20 11:19   ` Leo Yan
2020-11-20 12:15     ` Andrey Zhizhikin
2020-11-20 13:34   ` Salvatore Bonaccorso
2020-11-20 14:29     ` Andrey Zhizhikin
2020-11-20 15:53       ` Salvatore Bonaccorso
2020-11-20 16:31         ` Andrey Zhizhikin
2020-11-20 18:30           ` Salvatore Bonaccorso
2020-11-20 19:29             ` Andrey Zhizhikin
2020-11-22 13:43         ` Leo Yan
2020-11-25 20:12           ` [PATCH 1/2] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata Salvatore Bonaccorso
2020-11-25 20:12             ` [PATCH 2/2] perf cs-etm: Move definition of 'traceid_list' global variable from header file Salvatore Bonaccorso
2020-11-25 20:23             ` [PATCH 1/2] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata Salvatore Bonaccorso
2020-11-26  1:35               ` Leo Yan
2020-11-26  4:52                 ` Salvatore Bonaccorso
  -- strict thread matches above, loose matches on Subject: below --
2020-12-27  9:27 [PATCH 4.19.y only 0/2] Fix perf build failures Salvatore Bonaccorso
2020-12-27  9:27 ` [PATCH 1/2] perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata Salvatore Bonaccorso

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox