Re: [PATCH 6.12 375/666] perf tool_pmu: Factor tool events into their own PMU

Salvatore Bonaccorso <[email protected]>
Newsgroups dev.linux.lists.regressions,dev.linux.lists.patches,org.kernel.vger.stable
Message-ID <[email protected]>
hi Greg, 
On Wed, May 20, 2026 at 06:19:46PM +0200, Greg Kroah-Hartman wrote:
> 6.12-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Ian Rogers <[email protected]>
> 
> [ Upstream commit 240505b2d0adcdc8fd018117e88dc27b09734735 ]
> 
> Rather than treat tool events as a special kind of event, create a
> tool only PMU where the events/aliases match the existing
> duration_time, user_time and system_time events. Remove special
> parsing and printing support for the tool events, but add function
> calls for when PMU functions are called on a tool_pmu.
> 
> Move the tool PMU code in evsel into tool_pmu.c to better encapsulate
> the tool event behavior in that file.

While building now a complete set of packages for Debian for 6.12.91
where perf tools are included as well, I noticed that now the builds
fails. In fact in v6.12.91 

$ cd tools
$ LC_ALL=C.UTF-8 ARCH=x86 make perf

fails with:

[...]
  CC      util/stat.o
util/tool_pmu.c: In function ‘tool_pmu__config_term’:
util/tool_pmu.c:62:49: error: implicit declaration of function ‘parse_events__term_type_str’; did you mean ‘parse_events_term__str’? [-Wimplicit-function-declaration]
   62 |                                                 parse_events__term_type_str(term->type_term),
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 parse_events_term__str
util/tool_pmu.c:61:79: error: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘int’ [-Werror=format=]
   61 |                                                 "unexpected tool event term (%s) %s",
      |                                                                              ~^
      |                                                                               |
      |                                                                               char *
      |                                                                              %d
   62 |                                                 parse_events__term_type_str(term->type_term),
      |                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                 |
      |                                                 int
cc1: all warnings being treated as errors
  CC      util/stat-shadow.o
  LD      util/hisi-ptt-decoder/perf-util-in.o
  CC      util/stat-display.o
make[5]: *** [/home/build/linux-stable-rc/tools/build/Makefile.build:105: util/tool_pmu.o] Error 1
make[5]: *** Waiting for unfinished jobs....
  CC      util/perf_api_probe.o
  LD      util/perf-regs-arch/perf-util-in.o
util/cgroup.c: In function ‘evlist__expand_cgroup’:
util/cgroup.c:498:32: error: ‘struct evsel’ has no member named ‘first_wildcard_match’
  498 |                         if (pos->first_wildcard_match)
      |                                ^~
util/cgroup.c:499:38: error: ‘struct evsel’ has no member named ‘first_wildcard_match’
  499 |                                 evsel->first_wildcard_match = pos->first_wildcard_match->priv;
      |                                      ^~
util/cgroup.c:499:66: error: ‘struct evsel’ has no member named ‘first_wildcard_match’
  499 |                                 evsel->first_wildcard_match = pos->first_wildcard_match->priv;
      |                                                                  ^~
make[5]: *** [/home/build/linux-stable-rc/tools/build/Makefile.build:105: util/cgroup.o] Error 1
  LD      util/arm-spe-decoder/perf-util-in.o
  LD      ui/browsers/perf-ui-in.o
  LD      tests/workloads/perf-test-in.o
  LD      ui/perf-ui-in.o
  LD      perf-ui-in.o
  AR      libperf-ui.a
  LD      tests/perf-test-in.o
  LD      perf-test-in.o
  AR      libperf-test.a
  LD      util/scripting-engines/perf-util-in.o
  LD      util/intel-pt-decoder/perf-util-in.o
  LD      perf-in.o
make[4]: *** [/home/build/linux-stable-rc/tools/build/Makefile.build:162: util] Error 2
make[3]: *** [Makefile.perf:789: perf-util-in.o] Error 2
make[3]: *** Waiting for unfinished jobs....
  CC      pmu-events/pmu-events.o
  LD      pmu-events/pmu-events-in.o
make[2]: *** [Makefile.perf:292: sub-make] Error 2
make[1]: *** [Makefile:76: all] Error 2
make: *** [Makefile:93: perf] Error 2

Regards,
Salvatore
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.