On 8/8/2018 2:40 PM, Greg KH wrote:
On Wed, Aug 08, 2018 at 08:58:01AM +0800, Jin, Yao wrote:
On 8/7/2018 9:09 PM, Greg KH wrote:
On Mon, Aug 06, 2018 at 08:46:32AM +0800, Jin, Yao wrote:
On 7/19/2018 1:39 AM, Greg KH wrote:
On Wed, Jul 18, 2018 at 10:09:44AM -0700, Andi Kleen wrote:
On Wed, Jul 18, 2018 at 11:29:50AM +0200, Greg KH wrote:
On Wed, Jul 18, 2018 at 08:41:28AM +0800, Jin, Yao wrote:
Hi,
The stable kernel 4.9.112 has supported Intel uncore feature in perf core.
While it also needs the perf tool supporting to let perf uncore feature
work.
Following backport patches enables basic perf uncore feature in 4.9.112.
For example, on skylake desktop,
Why would anyone care about this on a "desktop" for 4.9? No one should
be using 4.9.y on a desktop anymore, it's over 2 years old, why would
they expect any "new" hardware support to work for them? Why can't they
It's actually not new hardware support: Skylake is fairly old hardware
at this point.
So is 4.9. I don't understand your point. The hardware is obviously
newer than 4.9 was, otherwise the support for it would already be in
there, right?
just use 4.14.y or better yet. 4.17.y? Desktops should NOT be using a 2
year old kernel.
Heck, servers shouldn't either, but that's a totally different rant.
These chips are not only used in desktops but also in servers.
This was asked for with regards to desktops, so now I'm confused.
Exactly who/what is going to be needing/wanting/using these changes?
However, for hardware that is newer than the base kernel version
release, I have no sympathy. Just use a newer kernel, right?
We have customers which are on old kernels with new hardware.
That's obviously not a wise thing to do for lots of good reasons. This
exact example being a huge one (i.e. you can't go back in time and add
support for hardware that was not out yet.)
The backports happen either way. This is just an attempt to do it in a
coordinated fashion.
There was no coordination here, just a list of git commit ids. Which is
great, and all that is really needed, but I'm confused as to who is
trying to coordinate with who?
What distro relies on a 4.9 kernel for brand new hardware that does not
already support a newer kernel release for such hardware?
None afaik, but there is a lot of Linux use beyond distros.
So no distro uses this, which makes me really wonder who would be the
user of these backports. And for how long? Why are these people not
moving to 4.14 already given that the published date for 4.9 end-of-life
is getting very close. Are you expecting to be rescued by Google again?
Hi Greg,
We do see 4.9 is now used by Alibaba.
Ali kernel is opensourced at https://github.com/alibaba/alikernel
Ok, does this user require these patches? Do they have them in their
kernel already? Do they need me to add them before they can use the
hardware they already have? I don't understand the connection here...
Hi Greg,
Ali needs the uncore patches and they have backported to their tree. So for
adding uncore patches to stable tree, just neutral for them.
I wish to show that 4.9 is being used by some customers.
And why did no one answer all of my questions from my first email?
Sorry about that. I just answer part of questions, for example, "The
patchset supports the server like Skylake, and it also supports some old
servers, for example, Broadwell and Haswell, .....". I want to represent
that it's not only for new hardware like SKL but also for some old hardware
which may run with 4.9.
But for other questions, such as, who uses 4.9 in desktop, what distros need
4.9. I'm sorry I don't really know the answers so I don't reply. Sorry about
that.
I asked for the diffstat :(
Oh, my mistake, I missed this question. I'm so sorry. :(
Following is the information I get from git format-patch --cover-letter.
Is this the right diffstat?
Andi Kleen (48):
perf vendor events: Add BroadwellDE V5 event file
perf vendor events: Add Broadwell V17 event file
perf vendor events: Add BroadwellX V10 event file
perf vendor events: Add Bonnell V4 event file
perf vendor events: Add Goldmont V8 event file
perf vendor events: Add Haswell V24 event file
perf vendor events: Add HaswellX V17 event file
perf vendor events: Add IvyBridge V18 event file
perf vendor events: Add IvyTown V19 event file
perf vendor events: Add Jaketown V20 event file
perf vendor events: Add KnightsLanding V9 event file
perf vendor events: Add NehalemEP V2 event file
perf vendor events: Add NehalemEX V2 event file
perf vendor events: Add Skylake V24 event file
perf vendor events: Add Silvermont V13 event file
perf vendor events: Add SandyBridge V15 event file
perf vendor events: Add WestmereEP-DP V2 event file
perf vendor events: Add WestmereEP-SP V2 event file
perf vendor events: Add WestmereEX V2 event file
perf vendor events intel: Add uncore events for Haswell Server
processor
perf vendor events intel: Add uncore events for Broadwell Server
perf vendor events intel: Add uncore events for IvyBridge Server
perf vendor events intel: Add uncore events for Sandy Bridge Server
perf vendor events intel: Add uncore events for Xeon Phi (Knights
Landing)
perf vendor events intel: Add uncore events for Broadwell DE
perf vendor events intel: Update Intel uncore JSON event files
perf vendor events intel: Add missing UNC_M_DCLOCKTICKS for Broadwell
DE uncore
perf vendor events intel: Add uncore events for Sandy Bridge client
perf vendor events intel: Add uncore events for Ivy Bridge client
perf vendor events intel: Add uncore events for Haswell client
perf vendor events intel: Add uncore events for Broadwell client
perf vendor events intel: Add uncore events for Skylake client
perf vendor events: Add core event list for Skylake Server
perf vendor events: Add Skylake server uncore event list
perf jevents: Parse eventcode as number
perf jevents: Add support for parsing uncore json files
perf pmu: Support per pmu json aliases
perf pmu: Support event aliases for non cpu// pmus
perf pmu: Factor out scale conversion code
perf list: Add debug support for outputing alias string
perf tools: Factor out PMU matching in parser
perf pmu: Expand PMU events by prefix match
perf pmu: Special case uncore_ prefix
perf stat: Factor out callback for collecting event values
perf stat: Collapse identically named events
perf stat: Handle partially bad results with merging
perf vendor events intel: Add uncore_arb JSON support
perf vendor events intel: Add missing space in json descriptions
Jiri Olsa (2):
perf tools: Move new_term arguments into struct parse_events_term
template
perf tools: Fail on using multiple bits long terms without value
Kan Liang (5):
perf/x86/intel/uncore: Fix Skylake server CHA LLC_LOOKUP event umask
perf/x86/intel/uncore: Fix Skylake server PCU PMU event format
perf/x86/intel/uncore: Remove invalid Skylake server CHA filter field
perf/x86/intel/uncore: Add event constraint for BDX PCU
perf vendor events: Add Goldmont Plus V1 event file
Stephane Eranian (3):
perf/x86/intel/uncore: Fix Skylake UPI PMU event masks
perf/x86/intel/uncore: Fix SKX CHA event extra regs
perf/x86/intel/uncore: Fix missing marker for
skx_uncore_cha_extra_regs
arch/x86/events/intel/uncore_snbep.c | 59 +-
tools/perf/Documentation/perf-stat.txt | 3 +
tools/perf/builtin-list.c | 3 +
tools/perf/builtin-stat.c | 143 +-
tools/perf/pmu-events/arch/x86/bonnell/cache.json | 746 ++++
.../arch/x86/bonnell/floating-point.json | 261 ++
.../perf/pmu-events/arch/x86/bonnell/frontend.json | 83 +
tools/perf/pmu-events/arch/x86/bonnell/memory.json | 154 +
tools/perf/pmu-events/arch/x86/bonnell/other.json | 450 ++
.../perf/pmu-events/arch/x86/bonnell/pipeline.json | 364 ++
.../arch/x86/bonnell/virtual-memory.json | 124 +
.../perf/pmu-events/arch/x86/broadwell/cache.json | 3198 +++++++++++++++
.../arch/x86/broadwell/floating-point.json | 171 +
.../pmu-events/arch/x86/broadwell/frontend.json | 286 ++
.../perf/pmu-events/arch/x86/broadwell/memory.json | 2845 +++++++++++++
.../perf/pmu-events/arch/x86/broadwell/other.json | 44 +
.../pmu-events/arch/x86/broadwell/pipeline.json | 1417 +++++++
.../perf/pmu-events/arch/x86/broadwell/uncore.json | 278 ++
.../arch/x86/broadwell/virtual-memory.json | 388 ++
.../pmu-events/arch/x86/broadwellde/cache.json | 774 ++++
.../arch/x86/broadwellde/floating-point.json | 171 +
.../pmu-events/arch/x86/broadwellde/frontend.json | 286 ++
.../pmu-events/arch/x86/broadwellde/memory.json | 433 ++
.../pmu-events/arch/x86/broadwellde/other.json | 44 +
.../pmu-events/arch/x86/broadwellde/pipeline.json | 1417 +++++++
.../arch/x86/broadwellde/uncore-cache.json | 317 ++
.../arch/x86/broadwellde/uncore-memory.json | 86 +
.../arch/x86/broadwellde/uncore-power.json | 92 +
.../arch/x86/broadwellde/virtual-memory.json | 388 ++
.../perf/pmu-events/arch/x86/broadwellx/cache.json | 942 +++++
.../arch/x86/broadwellx/floating-point.json | 171 +
.../pmu-events/arch/x86/broadwellx/frontend.json | 286 ++
.../pmu-events/arch/x86/broadwellx/memory.json | 649 +++
.../perf/pmu-events/arch/x86/broadwellx/other.json | 44 +
.../pmu-events/arch/x86/broadwellx/pipeline.json | 1417 +++++++
.../arch/x86/broadwellx/uncore-cache.json | 317 ++
.../arch/x86/broadwellx/uncore-interconnect.json | 28 +
.../arch/x86/broadwellx/uncore-memory.json | 86 +
.../arch/x86/broadwellx/uncore-power.json | 92 +
.../arch/x86/broadwellx/virtual-memory.json | 388 ++
tools/perf/pmu-events/arch/x86/goldmont/cache.json | 1127 +++++
.../pmu-events/arch/x86/goldmont/frontend.json | 52 +
.../perf/pmu-events/arch/x86/goldmont/memory.json | 34 +
tools/perf/pmu-events/arch/x86/goldmont/other.json | 52 +
.../pmu-events/arch/x86/goldmont/pipeline.json | 433 ++
.../arch/x86/goldmont/virtual-memory.json | 75 +
.../pmu-events/arch/x86/goldmontplus/cache.json | 1453 +++++++
.../pmu-events/arch/x86/goldmontplus/frontend.json | 62 +
.../pmu-events/arch/x86/goldmontplus/memory.json | 38 +
.../pmu-events/arch/x86/goldmontplus/other.json | 98 +
.../pmu-events/arch/x86/goldmontplus/pipeline.json | 544 +++
.../arch/x86/goldmontplus/virtual-memory.json | 218 +
tools/perf/pmu-events/arch/x86/haswell/cache.json | 1041 +++++
.../arch/x86/haswell/floating-point.json | 83 +
.../perf/pmu-events/arch/x86/haswell/frontend.json | 294 ++
tools/perf/pmu-events/arch/x86/haswell/memory.json | 655 +++
tools/perf/pmu-events/arch/x86/haswell/other.json | 43 +
.../perf/pmu-events/arch/x86/haswell/pipeline.json | 1329 ++++++
tools/perf/pmu-events/arch/x86/haswell/uncore.json | 374 ++
.../arch/x86/haswell/virtual-memory.json | 484 +++
tools/perf/pmu-events/arch/x86/haswellx/cache.json | 1077 +++++
.../arch/x86/haswellx/floating-point.json | 83 +
.../pmu-events/arch/x86/haswellx/frontend.json | 294 ++
.../perf/pmu-events/arch/x86/haswellx/memory.json | 739 ++++
tools/perf/pmu-events/arch/x86/haswellx/other.json | 43 +
.../pmu-events/arch/x86/haswellx/pipeline.json | 1329 ++++++
.../pmu-events/arch/x86/haswellx/uncore-cache.json | 317 ++
.../arch/x86/haswellx/uncore-interconnect.json | 28 +
.../arch/x86/haswellx/uncore-memory.json | 86 +
.../pmu-events/arch/x86/haswellx/uncore-power.json | 92 +
.../arch/x86/haswellx/virtual-memory.json | 484 +++
.../perf/pmu-events/arch/x86/ivybridge/cache.json | 1123 +++++
.../arch/x86/ivybridge/floating-point.json | 151 +
.../pmu-events/arch/x86/ivybridge/frontend.json | 305 ++
.../perf/pmu-events/arch/x86/ivybridge/memory.json | 236 ++
.../perf/pmu-events/arch/x86/ivybridge/other.json | 44 +
.../pmu-events/arch/x86/ivybridge/pipeline.json | 1307 ++++++
.../perf/pmu-events/arch/x86/ivybridge/uncore.json | 314 ++
.../arch/x86/ivybridge/virtual-memory.json | 180 +
tools/perf/pmu-events/arch/x86/ivytown/cache.json | 1272 ++++++
.../arch/x86/ivytown/floating-point.json | 151 +
.../perf/pmu-events/arch/x86/ivytown/frontend.json | 305 ++
tools/perf/pmu-events/arch/x86/ivytown/memory.json | 503 +++
tools/perf/pmu-events/arch/x86/ivytown/other.json | 44 +
.../perf/pmu-events/arch/x86/ivytown/pipeline.json | 1307 ++++++
.../pmu-events/arch/x86/ivytown/uncore-cache.json | 322 ++
.../arch/x86/ivytown/uncore-interconnect.json | 48 +
.../pmu-events/arch/x86/ivytown/uncore-memory.json | 78 +
.../pmu-events/arch/x86/ivytown/uncore-power.json | 274 ++
.../arch/x86/ivytown/virtual-memory.json | 198 +
tools/perf/pmu-events/arch/x86/jaketown/cache.json | 1290 ++++++
.../arch/x86/jaketown/floating-point.json | 138 +
.../pmu-events/arch/x86/jaketown/frontend.json | 305 ++
.../perf/pmu-events/arch/x86/jaketown/memory.json | 422 ++
tools/perf/pmu-events/arch/x86/jaketown/other.json | 58 +
.../pmu-events/arch/x86/jaketown/pipeline.json | 1220 ++++++
.../pmu-events/arch/x86/jaketown/uncore-cache.json | 210 +
.../arch/x86/jaketown/uncore-interconnect.json | 48 +
.../arch/x86/jaketown/uncore-memory.json | 82 +
.../pmu-events/arch/x86/jaketown/uncore-power.json | 273 ++
.../arch/x86/jaketown/virtual-memory.json | 149 +
.../pmu-events/arch/x86/knightslanding/cache.json | 2305 +++++++++++
.../arch/x86/knightslanding/frontend.json | 34 +
.../pmu-events/arch/x86/knightslanding/memory.json | 1110 +++++
.../arch/x86/knightslanding/pipeline.json | 435 ++
.../arch/x86/knightslanding/uncore-memory.json | 42 +
.../arch/x86/knightslanding/virtual-memory.json | 65 +
tools/perf/pmu-events/arch/x86/mapfile.csv | 37 +
.../perf/pmu-events/arch/x86/nehalemep/cache.json | 3229 +++++++++++++++
.../arch/x86/nehalemep/floating-point.json | 229 ++
.../pmu-events/arch/x86/nehalemep/frontend.json | 26 +
.../perf/pmu-events/arch/x86/nehalemep/memory.json | 739 ++++
.../perf/pmu-events/arch/x86/nehalemep/other.json | 210 +
.../pmu-events/arch/x86/nehalemep/pipeline.json | 881 ++++
.../arch/x86/nehalemep/virtual-memory.json | 109 +
.../perf/pmu-events/arch/x86/nehalemex/cache.json | 3184 +++++++++++++++
.../arch/x86/nehalemex/floating-point.json | 229 ++
.../pmu-events/arch/x86/nehalemex/frontend.json | 26 +
.../pmu-events/arch/x86/nehalemex/frontend.json | 26 +
.../perf/pmu-events/arch/x86/nehalemex/memory.json | 739 ++++
.../perf/pmu-events/arch/x86/nehalemex/other.json | 210 +
.../pmu-events/arch/x86/nehalemex/pipeline.json | 881 ++++
.../arch/x86/nehalemex/virtual-memory.json | 109 +
.../pmu-events/arch/x86/sandybridge/cache.json | 1879 +++++++++
.../arch/x86/sandybridge/floating-point.json | 138 +
.../pmu-events/arch/x86/sandybridge/frontend.json | 305 ++
.../pmu-events/arch/x86/sandybridge/memory.json | 445 ++
.../pmu-events/arch/x86/sandybridge/other.json | 58 +
.../pmu-events/arch/x86/sandybridge/pipeline.json | 1220 ++++++
.../pmu-events/arch/x86/sandybridge/uncore.json | 314 ++
.../arch/x86/sandybridge/virtual-memory.json | 149 +
.../perf/pmu-events/arch/x86/silvermont/cache.json | 811 ++++
.../pmu-events/arch/x86/silvermont/frontend.json | 47 +
.../pmu-events/arch/x86/silvermont/memory.json | 11 +
.../pmu-events/arch/x86/silvermont/pipeline.json | 359 ++
.../arch/x86/silvermont/virtual-memory.json | 69 +
tools/perf/pmu-events/arch/x86/skylake/cache.json | 4299
++++++++++++++++++++
.../arch/x86/skylake/floating-point.json | 68 +
.../perf/pmu-events/arch/x86/skylake/frontend.json | 472 +++
tools/perf/pmu-events/arch/x86/skylake/memory.json | 2309 +++++++++++
tools/perf/pmu-events/arch/x86/skylake/other.json | 12 +
.../perf/pmu-events/arch/x86/skylake/pipeline.json | 939 +++++
tools/perf/pmu-events/arch/x86/skylake/uncore.json | 254 ++
.../arch/x86/skylake/virtual-memory.json | 272 ++
tools/perf/pmu-events/arch/x86/skylakex/cache.json | 1672 ++++++++
.../arch/x86/skylakex/floating-point.json | 88 +
.../pmu-events/arch/x86/skylakex/frontend.json | 482 +++
.../perf/pmu-events/arch/x86/skylakex/memory.json | 1396 +++++++
tools/perf/pmu-events/arch/x86/skylakex/other.json | 72 +
.../pmu-events/arch/x86/skylakex/pipeline.json | 950 +++++
.../arch/x86/skylakex/uncore-memory.json | 172 +
.../pmu-events/arch/x86/skylakex/uncore-other.json | 1156 ++++++
.../arch/x86/skylakex/virtual-memory.json | 284 ++
.../pmu-events/arch/x86/westmereep-dp/cache.json | 2817 +++++++++++++
.../arch/x86/westmereep-dp/floating-point.json | 229 ++
.../arch/x86/westmereep-dp/frontend.json | 26 +
.../pmu-events/arch/x86/westmereep-dp/memory.json | 758 ++++
.../pmu-events/arch/x86/westmereep-dp/other.json | 287 ++
.../arch/x86/westmereep-dp/pipeline.json | 899 ++++
.../arch/x86/westmereep-dp/virtual-memory.json | 173 +
.../pmu-events/arch/x86/westmereep-sp/cache.json | 3233 +++++++++++++++
.../arch/x86/westmereep-sp/floating-point.json | 229 ++
.../arch/x86/westmereep-sp/frontend.json | 26 +
.../pmu-events/arch/x86/westmereep-sp/memory.json | 739 ++++
.../pmu-events/arch/x86/westmereep-sp/other.json | 287 ++
.../arch/x86/westmereep-sp/pipeline.json | 899 ++++
.../arch/x86/westmereep-sp/virtual-memory.json | 149 +
tools/perf/pmu-events/jevents.c | 86 +-
tools/perf/pmu-events/jevents.h | 4 +-
tools/perf/pmu-events/pmu-events.h | 3 +
tools/perf/util/evsel.h | 1 +
tools/perf/util/parse-events.c | 188 +-
tools/perf/util/parse-events.h | 10 +
tools/perf/util/parse-events.y | 68 +-
tools/perf/util/pmu.c | 122 +-
tools/perf/util/pmu.h | 1 +
182 files changed, 97061 insertions(+), 159 deletions(-)
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/bonnell/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/bonnell/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/bonnell/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwell/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwell/uncore.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwell/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellde/floating-point.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellde/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellde/other.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellde/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellde/uncore-cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellde/uncore-memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellde/uncore-power.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellde/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellx/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/broadwellx/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellx/uncore-cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellx/uncore-interconnect.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellx/uncore-memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellx/uncore-power.json
create mode 100644
tools/perf/pmu-events/arch/x86/broadwellx/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmont/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/goldmont/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmontplus/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/goldmontplus/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmontplus/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/goldmontplus/other.json
create mode 100644
tools/perf/pmu-events/arch/x86/goldmontplus/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/goldmontplus/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/haswell/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswell/uncore.json
create mode 100644
tools/perf/pmu-events/arch/x86/haswell/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/haswellx/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/haswellx/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/haswellx/uncore-cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/haswellx/uncore-interconnect.json
create mode 100644
tools/perf/pmu-events/arch/x86/haswellx/uncore-memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/haswellx/uncore-power.json
create mode 100644
tools/perf/pmu-events/arch/x86/haswellx/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/ivybridge/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivybridge/uncore.json
create mode 100644
tools/perf/pmu-events/arch/x86/ivybridge/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/ivytown/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/ivytown/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/ivytown/uncore-cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/ivytown/uncore-interconnect.json
create mode 100644
tools/perf/pmu-events/arch/x86/ivytown/uncore-memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/ivytown/uncore-power.json
create mode 100644
tools/perf/pmu-events/arch/x86/ivytown/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/jaketown/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/jaketown/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/jaketown/uncore-cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/jaketown/uncore-interconnect.json
create mode 100644
tools/perf/pmu-events/arch/x86/jaketown/uncore-memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/jaketown/uncore-power.json
create mode 100644
tools/perf/pmu-events/arch/x86/jaketown/virtual-memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/knightslanding/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/knightslanding/frontend.json
create mode 100644
tools/perf/pmu-events/arch/x86/knightslanding/memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/knightslanding/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/knightslanding/uncore-memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/knightslanding/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/mapfile.csv
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/nehalemep/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemep/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/nehalemep/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/nehalemex/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/nehalemex/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/nehalemex/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/sandybridge/floating-point.json
create mode 100644
tools/perf/pmu-events/arch/x86/sandybridge/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/other.json
create mode 100644
tools/perf/pmu-events/arch/x86/sandybridge/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/sandybridge/uncore.json
create mode 100644
tools/perf/pmu-events/arch/x86/sandybridge/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/cache.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/silvermont/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/silvermont/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/skylake/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/pipeline.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylake/uncore.json
create mode 100644
tools/perf/pmu-events/arch/x86/skylake/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/skylakex/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/skylakex/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/skylakex/uncore-memory.json
create mode 100644
tools/perf/pmu-events/arch/x86/skylakex/uncore-other.json
create mode 100644
tools/perf/pmu-events/arch/x86/skylakex/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-dp/floating-point.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-dp/frontend.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-dp/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-dp/other.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-dp/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-dp/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-sp/floating-point.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-sp/frontend.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-sp/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereep-sp/other.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-sp/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereep-sp/virtual-memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/cache.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereex/floating-point.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/frontend.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/memory.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/other.json
create mode 100644 tools/perf/pmu-events/arch/x86/westmereex/pipeline.json
create mode 100644
tools/perf/pmu-events/arch/x86/westmereex/virtual-memory.json
Thanks
Jin Yao