From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com ([192.55.52.120]:30602 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726893AbeHHJ42 (ORCPT ); Wed, 8 Aug 2018 05:56:28 -0400 Subject: Re: perf: Support uncore in 4.9.112 To: Greg KH Cc: Andi Kleen , stable@vger.kernel.org, "Jin, Yao" , "Liang, Kan" References: <02cf6d3a-b138-20f7-7181-0d2eca601bbc@linux.intel.com> <20180718092950.GD17551@kroah.com> <20180718170944.GF25412@tassilo.jf.intel.com> <20180718173955.GA1132@kroah.com> <89ce7147-3116-bb81-85a8-f97401c66a56@linux.intel.com> <20180807130934.GA14470@kroah.com> <20180808064001.GA23497@kroah.com> From: "Jin, Yao" Message-ID: <7e63c7da-e883-04ab-abf7-6ccf87ff3a70@linux.intel.com> Date: Wed, 8 Aug 2018 15:37:54 +0800 MIME-Version: 1.0 In-Reply-To: <20180808064001.GA23497@kroah.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: 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