Re: Please pull Intel JSON event files updates

From: Arnaldo Carvalho de Melo
Date: Thu Mar 30 2017 - 07:49:59 EST


Em Wed, Mar 29, 2017 at 05:43:22PM -0700, Andi Kleen escreveu:
> Hi Arnaldo,
>
> This pull requests contains updates to the Intel PMU events JSON files,
> plus two one liner code fixes for the JSON files (also appended as patch)
>
> The most remarkable change is support for Sandy Bridge to Skylake
> client uncore event list support, and some bug fixes for the Broadwell DE
> events.
>
>
> The following changes since commit 3906a13a6b4e78fbc0def03a808f091f0dff1b44:
>
> Merge tag 'perf-core-for-mingo-4.12-20170327' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2017-03-28 07:44:43 +0200)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc perf/uncore-json-updates-1
>
> for you to fetch changes up to f21fd835079d764384d79e939d715a3f46f45338:
>
> perf, tools, intel: Add missing space in json descriptions (2017-03-29 17:39:36 -0700)
>
> ----------------------------------------------------------------
> Andi Kleen (8):
> perf, tools, intel: Add missing UNC_M_DCLOCKTICKS for Broadwell DE uncore
> perf, tools, intel: Add V15 of Sandy Bridge uncore events
> perf, tools, intel: Add V18 of Ivy Bridge uncore events
> perf, tools, intel: Add V25 of Haswell uncore events
> perf, tools, intel: Add V18 of Broadwell uncore events
> perf, tools, intel: Add V25 of Skylake uncore events
> perf, tools, intel: Add uncore_arb JSON support
> perf, tools, intel: Add missing space in json descriptions

Can you please follow the subject line we've been using in tools/?

for instance:

[acme@jouet linux]$ git log --oneline tools/perf/pmu-events/ | head
962848142335 perf pmu: Add support for MetricName JSON attribute
00636c3b48e8 perf pmu: Support MetricExpr header in JSON event list
b90b3e9c1105 perf vendor events intel: Update Intel uncore JSON event files
771ceddaadd0 perf vendor events: Add mapping for KnightsMill PMU events
bb963e16507c perf utils: Check verbose flag properly
76667024171a perf vendor events intel: Add uncore events for Broadwell DE
22c8e5526b7b perf vendor events intel: Add uncore events for Xeon Phi (Knights Landing)
dd32cb5d8fd4 perf vendor events intel: Add uncore events for Sandy Bridge Server
6b138c7b14d6 perf vendor events intel: Add uncore events for IvyBridge Server
949c84efcac9 perf vendor events intel: Add uncore events for Broadwell Server
[acme@jouet linux]$

When processing patches from files I have scripts that point to the
patch as it was posted to lkml, i.e., for:

771ceddaadd0 perf pmu: Add support for MetricName JSON attribute

I have:

http://lkml.kernel.org/r/20170320201711.14142-13-andi@xxxxxxxxxxxxxx

This way we can just click on it and see if further discussion took
place on it, what Acks were posted, which for the above we got one from
Jiri, etc.

For me to pull from you I wouldn't be able to collect that Message-ID,
so what we do is:

[acme@jouet linux]$ echo "Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org"
Link: http://lkml.kernel.org/n/tip-cxp3itwbnwiq636gkzf805ta@xxxxxxxxxxxxxx

For instance:

commit b0ad8ea66445d64a469df0c710947f4cdb8ef16b
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Mon Mar 27 11:47:20 2017 -0300

perf tools: Remove unused 'prefix' from builtin functions

Has:

Link: http://lkml.kernel.org/n/tip-uw5swz05vol0qpr32c5lpvus@xxxxxxxxxxxxxx

Which works.

Also since you added Jiri to the CC line of this message, it would be
appropriate to have it on a CC line in the patch, so that reading the
patch we can see who was notified about the patch submission.

With these things in place I'd be able to pull from your git repo.

Thanks,

- Arnaldo

> .../perf/pmu-events/arch/x86/broadwell/uncore.json | 278 +++++++++++++++
> .../arch/x86/broadwellde/uncore-memory.json | 13 +-
> tools/perf/pmu-events/arch/x86/haswell/uncore.json | 374 +++++++++++++++++++++
> .../perf/pmu-events/arch/x86/ivybridge/uncore.json | 314 +++++++++++++++++
> .../pmu-events/arch/x86/sandybridge/uncore.json | 314 +++++++++++++++++
> tools/perf/pmu-events/arch/x86/skylake/uncore.json | 254 ++++++++++++++
> tools/perf/pmu-events/jevents.c | 2 +
> 7 files changed, 1546 insertions(+), 3 deletions(-)
> create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/uncore.json
> create mode 100644 tools/perf/pmu-events/arch/x86/haswell/uncore.json
> create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/uncore.json
> create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/uncore.json
> create mode 100644 tools/perf/pmu-events/arch/x86/skylake/uncore.json
>
> diff --git a/tools/perf/pmu-events/jevents.c b/tools/perf/pmu-events/jevents.c
> index 81f2ef3b15cf..baa073f38334 100644
> --- a/tools/perf/pmu-events/jevents.c
> +++ b/tools/perf/pmu-events/jevents.c
> @@ -195,6 +195,7 @@ static struct map {
> { "CBO", "uncore_cbox" },
> { "QPI LL", "uncore_qpi" },
> { "SBO", "uncore_sbox" },
> + { "iMPH-U", "uncore_arb" },
> {}
> };
>
> @@ -468,6 +469,7 @@ int json_events(const char *fn,
> }
> addfield(map, &desc, ". ", "Unit: ", NULL);
> addfield(map, &desc, "", pmu, NULL);
> + addfield(map, &desc, "", " ", NULL);
> } else if (json_streq(map, field, "Filter")) {
> addfield(map, &filter, "", "", val);
> } else if (json_streq(map, field, "ScaleUnit")) {