Re: s390 perf events JSONs query

From: John Garry
Date: Fri Apr 20 2018 - 09:53:51 EST


On 20/04/2018 14:25, Thomas-Mich Richter wrote:
On 04/20/2018 12:51 PM, John Garry wrote:
Hi Hendrik, Thomas,

I noticed that in 4.17-rc1 support was included for s390 perf pmu-events. I also notice that the JSONs contain many common (identical actually) events between different chips for this arch.

Support was added for factoring out common arch events in https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/tools/perf/pmu-events?h=next-20180420&id=e9d32c1bf0cd7a98358ec4aa1625bf2b3459b9ac

ARM64 chips use this feature. I am not familiar with the s390 arch, but do you think you could also use this feature?

Thanks,
John


I have just played with this feature. I was caught off by this error message:

[root@s35lp76 pmu-events]# ./jevents s390 arch /tmp/xxx 100000
d 0 4096 s390 arch/s390
d 1 4096 cf_z14 arch/s390/cf_z14
f 2 1338 basic.json arch/s390/cf_z14/basic.json
....
jevents: Ignoring file arch/s390/archevent.json <---- confusing error message

Let me check if this can be silenced.


jevents: Processing mapfile arch/s390/mapfile.csv
[root@s35lp76 pmu-events]#

I started debugging, until I realized this file is still processed.....
(Just a side remark).

Anyway the features is nice, but it does not save anything in the resulting
pmu-events.c file, correct? The events defined in the common archevent.json
files are just copied into the structures of a specific machine.


Yes, the resulting derived pmu-events.c should be the same. In fact, if there was naming inconsistencies in JSONs previously, they should now be gone.

The feature saves time and space when you create the machine specific json
files because it allows you to refer to a common event by name. Cool!

On s390 we do not create the json files manually, but have some scripts to
create them based on s390 type/model hardware specific input files.

Right, I would say that this is mostly useful when the JSONs are created manually, which was the case in the ARM world, but not x86. I didn't know about s390.


@Hendirk,
we could rework our internal tool chain to emit the new "ArchStdEvent"
keyword for common events, but in the end we do not save anything in the
resulting pmu-events.c file. And it requires considerable rework to
support it.
Given that, I would put it very low priority on your todo list, comments?


Cheers,
John