From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: peterz@infradead.org, maddy@linux.vnet.ibm.com,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v21 06/19] perf, tools: Support alias descriptions
Date: Mon, 3 Oct 2016 17:52:02 -0300 [thread overview]
Message-ID: <20161003205202.GA7143@kernel.org> (raw)
In-Reply-To: <20160928182916.GA17343@us.ibm.com>
Em Wed, Sep 28, 2016 at 11:29:16AM -0700, Sukadev Bhattiprolu escreveu:
> Arnaldo Carvalho de Melo [acme@kernel.org] wrote:
> > Em Tue, Sep 27, 2016 at 11:11:16AM -0700, Sukadev Bhattiprolu escreveu:
> > > Arnaldo Carvalho de Melo [acme@kernel.org] wrote:
> > > > Em Thu, Sep 15, 2016 at 03:24:43PM -0700, Sukadev Bhattiprolu escreveu:
> > > > > From: Andi Kleen <ak@linux.intel.com>
> > > > > Add support to print alias descriptions in perf list, which
> > > > > are taken from the generated event files.
> > > > >
> > > > > The sorting code is changed to put the events with descriptions
> > > > > at the end. The descriptions are printed as possibly multiple word
> > > > > wrapped lines.
> > > >
> > > > So, now I'm trying to reproduce the results below, but I couldn't find a
> > > > tarball with those .json files for me to use, can you provide me with
> > > > one?
> > >
> > > The data files are in my github, in the json-code+data-v21 branch
> > > starting with 23bb101. They are individual commits rather than a
> > > tarball though.
> >
> > Ok, I'll pick one for powerpc and another for x86_64 so that I can test
> > it and Jiri's x-compile support.
>
> Please pull all files if possible, specially on x86, _before_ building the
Nah, will leave this for a second step, i.e. you guys can send a pull
req after I finish the initial testing.
> perf binary. If you are going to pull only one, you need to make sure that
> the file you pull matches the CPU model on the system you are testing.(see
Right, right, that was the plan, and I actually did it now, got the
mapfile.csv, left only the entry for my test machine:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 61
model name : Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
Which is 3D, i.e.:
[acme@jouet linux]$ cat tools/perf/pmu-events/arch/x86/mapfile.csv
Family-model,Version,Filename,EventType
GenuineIntel-6-3D,V16,Broadwell,core
[acme@jouet linux]$
And copied the files in the directory this maps to:
[acme@jouet linux]$ ls -la tools/perf/pmu-events/arch/x86/Broadwell/
total 352
drwxrwxr-x. 2 acme acme 4096 Oct 3 17:23 .
drwxrwxr-x. 3 acme acme 4096 Oct 3 17:23 ..
-rw-r--r--. 1 acme acme 127294 Oct 3 17:20 Cache.json
-rw-r--r--. 1 acme acme 10100 Oct 3 17:21 Floating-point.json
-rw-r--r--. 1 acme acme 16319 Oct 3 17:21 Frontend.json
-rw-r--r--. 1 acme acme 106375 Oct 3 17:21 Memory.json
-rw-r--r--. 1 acme acme 2080 Oct 3 17:22 Other.json
-rw-r--r--. 1 acme acme 64972 Oct 3 17:22 Pipeline.json
-rw-r--r--. 1 acme acme 15356 Oct 3 17:23 Virtual-Memory.json
[acme@jouet linux]$
Then try to build it as usual, i.e. using O=:
make O=/tmp/build/perf -C tools/perf install-bin
And it fails, not building the $(OUTPUT)pmu-events/pmu-events.c
somehow...
Ok, I decide to fall back to building it in the same directory as the
sources:
[acme@jouet linux]$ cd tools/perf
[acme@jouet perf]$ make
It gets a bit better, but fails as well:
[acme@jouet perf]$ make
BUILD: Doing 'make -j4' parallel build
CC pmu-events/pmu-events.o
pmu-events/pmu-events.c:4430:11: error: ‘pme_Filename’ undeclared here
(not in a function)
.table = pme_Filename
^~~~~~~~~~~~
mv: cannot stat 'pmu-events/.pmu-events.o.tmp': No such file or
directory
/home/acme/git/linux/tools/build/Makefile.build:88: recipe for target
'pmu-events/pmu-events.o' failed
make[2]: *** [pmu-events/pmu-events.o] Error 1
Makefile.perf:467: recipe for target 'pmu-events/pmu-events-in.o' failed
make[1]: *** [pmu-events/pmu-events-in.o] Error 2
make[1]: *** Waiting for unfinished jobs....
Makefile:68: recipe for target 'all' failed
make: *** [all] Error 2
[acme@jouet perf]$
It finally builds if I ditch the header in
https://raw.githubusercontent.com/sukadev/linux/json-code%2Bdata-v21/tools/perf/pmu-events/arch/x86/mapfile.csv
[acme@jouet perf]$ cat pmu-events/arch/x86/mapfile.csv
Family-model,Version,Filename,EventType
GenuineIntel-6-3D,V16,Broadwell,core
[acme@jouet perf]$ vim pmu-events/arch/x86/mapfile.csv
[acme@jouet perf]$ cat pmu-events/arch/x86/mapfile.csv
GenuineIntel-6-3D,V16,Broadwell,core
[acme@jouet perf]$ make
BUILD: Doing 'make -j4' parallel build
GEN pmu-events/pmu-events.c
Warning: tools/include/uapi/linux/bpf.h differs from kernel
CC pmu-events/pmu-events.o
LD pmu-events/pmu-events-in.o
AR libperf.a
LINK libperf-gtk.so
LINK perf
[acme@jouet perf]$
And then it seems to work, at least for 'perf list', still need to check
if reading events with the generic name so far used + the new one looks
sane, will be done after this:
[acme@jouet perf]$ perf list | grep arith
arith.fpu_div_active
fp_arith_inst_retired.128b_packed_double
fp_arith_inst_retired.128b_packed_single
fp_arith_inst_retired.256b_packed_double
fp_arith_inst_retired.256b_packed_single
fp_arith_inst_retired.double
fp_arith_inst_retired.packed
fp_arith_inst_retired.scalar
fp_arith_inst_retired.scalar_double
fp_arith_inst_retired.scalar_single
fp_arith_inst_retired.single
[acme@jouet perf]$
Now trying to fix the O= part to continue processing...
- Arnaldo
> below). For Power, you need to test on Power8.
> >
> > Refresh my mind, what is the plan on these files? Are we just going to
> > provide pointers to where to get them from vendors, ship it in the
> > kernel, auto-download them as part of the build process?
>
> They are supposed to be committed into the linux kernel tree as shown
> in the json-code+data-v21 tree and they will be picked up _during build_
> of the perf binary. (We are just not mailing those data files as patches
> since they are large and there is very little value in reviewing them).
>
> When building perf on on say x86, event tables for all the different
> x86 CPU models will be included in the perf binary. When perf is then
> executed on an x86 box, it will detect the CPU model of that box and
> use the set of events corresponding to that model.
>
> If the CPU model does not match the models "known" to the perf binary,
> then the symbolic names will not work on that system, but there should
> be no other change in behavior.
>
> Patch 15/19 tries to explain the process.
>
> >
> > At least examples that allows to build and have a new 'perf test' entry
> > to check them automatically seems to be in order, no?
>
> Well, the hope was that build/usage will be transparent! but we did not
> test in the cross-compile environment. Will think about a test case.
> Please let me know if we can update the README in Patch 15/19 in any
> way.
>
> >
> > - Arnaldo
> >
> > > > https://github.com/sukadev/linux.git
> > > >
> > > > Branch Description
> > > > ------------------------------------------------------
> > > > json-code-v21 Source Code only
> > > > json-code+data-v21 Both code and data(for build/test/pull)
> > > >
> > >
> > > Sukadev
next prev parent reply other threads:[~2016-10-03 20:52 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-15 22:24 [PATCH v21 00/20] perf, tools: Add support for PMU events in JSON format Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 01/19] perf, tools: Add jsmn `jasmine' JSON parser Sukadev Bhattiprolu
2016-10-04 8:11 ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 02/19] perf, tools, jevents: Program to convert JSON file to C style file Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 03/19] perf, tools: Use pmu_events table to create aliases Sukadev Bhattiprolu
2016-09-27 13:16 ` Arnaldo Carvalho de Melo
2016-10-04 8:12 ` [tip:perf/urgent] perf pmu: " tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 04/19] perf, tools: Support CPU ID matching for Powerpc Sukadev Bhattiprolu
2016-10-04 8:13 ` [tip:perf/urgent] perf powerpc: " tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 05/19] perf, tools: Support CPU id matching for x86 v2 Sukadev Bhattiprolu
2016-10-04 8:13 ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 06/19] perf, tools: Support alias descriptions Sukadev Bhattiprolu
2016-09-27 17:41 ` Arnaldo Carvalho de Melo
2016-09-27 18:11 ` Sukadev Bhattiprolu
2016-09-28 13:57 ` Arnaldo Carvalho de Melo
2016-09-28 18:29 ` Sukadev Bhattiprolu
2016-09-28 19:08 ` Arnaldo Carvalho de Melo
2016-10-03 20:52 ` Arnaldo Carvalho de Melo [this message]
2016-10-04 8:14 ` [tip:perf/urgent] perf pmu: " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 07/19] perf, tools: Query terminal width and use in perf list Sukadev Bhattiprolu
2016-10-04 8:14 ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 08/19] perf, tools: Add a --no-desc flag to " Sukadev Bhattiprolu
2016-10-04 8:15 ` [tip:perf/urgent] perf list: Add a --no-desc flag tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 09/19] perf, tools: Add override support for event list CPUID Sukadev Bhattiprolu
2016-10-04 8:15 ` [tip:perf/urgent] perf pmu: " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 10/19] perf, tools, jevents: Add support for long descriptions Sukadev Bhattiprolu
2016-10-04 8:16 ` [tip:perf/urgent] perf " tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 11/19] perf, tools: Add alias " Sukadev Bhattiprolu
2016-10-04 0:20 ` Arnaldo Carvalho de Melo
2016-09-15 22:24 ` [PATCH v21 12/19] perf, tools: Support long descriptions with perf list Sukadev Bhattiprolu
2016-10-04 0:26 ` Arnaldo Carvalho de Melo
2016-10-04 8:16 ` [tip:perf/urgent] perf list: Support long jevents descriptions tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 13/19] perf, tools: Add support for event list topics Sukadev Bhattiprolu
2016-10-04 8:16 ` [tip:perf/urgent] perf list jevents: " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 14/19] perf, tools, jevents: Handle header line in mapfile Sukadev Bhattiprolu
2016-10-04 0:36 ` Arnaldo Carvalho de Melo
2016-10-04 8:13 ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 15/19] perf, tools: Add README for info on parsing JSON/map files Sukadev Bhattiprolu
2016-10-04 0:38 ` Arnaldo Carvalho de Melo
2016-10-04 8:17 ` [tip:perf/urgent] perf " tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 16/19] perf, tools: Make alias matching case-insensitive Sukadev Bhattiprolu
2016-10-04 0:47 ` Arnaldo Carvalho de Melo
2016-10-04 0:54 ` Arnaldo Carvalho de Melo
2016-10-04 8:19 ` Jiri Olsa
2016-10-04 8:19 ` Jiri Olsa
2016-10-04 8:18 ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 17/19] perf, tools, pmu-events: Fix fixed counters on Intel Sukadev Bhattiprolu
2016-10-04 8:18 ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 18/19] perf, tools, pmu-events: Add Skylake frontend MSR support Sukadev Bhattiprolu
2016-10-04 8:19 ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 19/19] perf, tools: Allow period= in perf stat CPU event descriptions Sukadev Bhattiprolu
2016-10-04 8:17 ` [tip:perf/urgent] perf " tip-bot for Sukadev Bhattiprolu
2016-09-19 16:58 ` [PATCH v21 00/20] perf, tools: Add support for PMU events in JSON format Sukadev Bhattiprolu
2016-09-19 21:20 ` Arnaldo Carvalho de Melo
2016-09-19 23:31 ` Arnaldo Carvalho de Melo
2016-09-19 23:37 ` Arnaldo Carvalho de Melo
2016-09-20 0:02 ` Arnaldo Carvalho de Melo
2016-09-20 0:28 ` Arnaldo Carvalho de Melo
2016-09-22 14:56 ` Arnaldo Carvalho de Melo
2016-09-22 15:00 ` Jiri Olsa
2016-09-22 16:27 ` Jiri Olsa
2016-09-26 8:35 ` Jiri Olsa
2016-09-26 15:03 ` Arnaldo Carvalho de Melo
2016-09-26 16:59 ` Andi Kleen
2016-09-27 14:18 ` Jiri Olsa
2016-09-29 22:19 ` Arnaldo Carvalho de Melo
2016-09-30 9:10 ` Jiri Olsa
2016-10-04 8:10 ` [tip:perf/urgent] tools build: Add support for host programs format tip-bot for Jiri Olsa
2016-10-04 8:11 ` [tip:perf/urgent] tools build: Make fixdep a hostprog tip-bot for Jiri Olsa
2016-10-04 8:12 ` [tip:perf/urgent] perf jevents: Program to convert JSON file tip-bot for Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161003205202.GA7143@kernel.org \
--to=acme@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=sukadev@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.