lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ed3cd331-92ae-5f27-0a5a-0e9b8457e401@linux.intel.com>
Date:   Fri, 18 Mar 2022 17:15:39 +0800
From:   Xing Zhengjun <zhengjun.xing@...ux.intel.com>
To:     Ian Rogers <irogers@...gle.com>,
        Kan Liang <kan.liang@...ux.intel.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Ingo Molnar <mingo@...hat.com>,
        Arnaldo Carvalho de Melo <acme@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
        Jiri Olsa <jolsa@...hat.com>,
        Namhyung Kim <namhyung@...nel.org>,
        Maxime Coquelin <mcoquelin.stm32@...il.com>,
        Alexandre Torgue <alexandre.torgue@...s.st.com>,
        Andi Kleen <ak@...ux.intel.com>,
        James Clark <james.clark@....com>,
        John Garry <john.garry@...wei.com>,
        linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org
Cc:     Stephane Eranian <eranian@...gle.com>
Subject: Re: [PATCH 3/8] perf vendor events: Update events for Icelake



On 3/18/2022 2:28 AM, Ian Rogers wrote:
> The change:
> https://github.com/intel/event-converter-for-linux-perf/commit/fc680410402e394eed6a1ebd909c9f649d3ed3ef
> moved certain "other" type of events in to the cache and pipeline topic.
> Update the perf json files for this change.
> 
> Signed-off-by: Ian Rogers <irogers@...gle.com>

Reviewed-by: Zhengjun Xing <zhengjun.xing@...ux.intel.com>

> ---
>   .../pmu-events/arch/x86/icelake/cache.json    | 633 +++++++++++++++
>   .../pmu-events/arch/x86/icelake/other.json    | 752 +-----------------
>   .../pmu-events/arch/x86/icelake/pipeline.json |  47 ++
>   3 files changed, 716 insertions(+), 716 deletions(-)
> 
> diff --git a/tools/perf/pmu-events/arch/x86/icelake/cache.json b/tools/perf/pmu-events/arch/x86/icelake/cache.json
> index 96dcd387c70e..375ce490833c 100644
> --- a/tools/perf/pmu-events/arch/x86/icelake/cache.json
> +++ b/tools/perf/pmu-events/arch/x86/icelake/cache.json
> @@ -553,6 +553,591 @@
>           "SampleAfterValue": "50021",
>           "UMask": "0x20"
>       },
> +    {
> +        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.ANY",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x3FC03C0004",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_HITM",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x10003C0004",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_HIT_NO_FWD",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x4003C0004",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_MISS",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x2003C0004",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_NOT_NEEDED",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1003C0004",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop was sent.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_SENT",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1E003C0004",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.ANY",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x3FC03C0001",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HITM",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x10003C0001",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HIT_NO_FWD",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x4003C0001",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_MISS",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x2003C0001",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_NOT_NEEDED",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1003C0001",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop was sent.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_SENT",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1E003C0001",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_RFO.L3_HIT.ANY",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x3FC03C0002",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_HITM",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x10003C0002",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_HIT_NO_FWD",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x4003C0002",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_MISS",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x2003C0002",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_NOT_NEEDED",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1003C0002",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop was sent.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_SENT",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1E003C0002",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L1D_AND_SWPF.L3_HIT.ANY",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x3FC03C0400",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L1D_AND_SWPF.L3_HIT.SNOOP_MISS",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x2003C0400",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L1D_AND_SWPF.L3_HIT.SNOOP_NOT_NEEDED",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1003C0400",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.ANY",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x3FC03C0010",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_HITM",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x10003C0010",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_HIT_NO_FWD",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x4003C0010",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_MISS",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x2003C0010",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_NOT_NEEDED",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1003C0010",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop was sent.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_SENT",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1E003C0010",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.ANY",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x3FC03C0020",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_HITM",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x10003C0020",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_HIT_NO_FWD",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x4003C0020",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_MISS",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x2003C0020",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_NOT_NEEDED",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1003C0020",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop was sent.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_SENT",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1E003C0020",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts hardware prefetches to the L3 only that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.HWPF_L3.L3_HIT.ANY",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x3FC03C2380",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.OTHER.L3_HIT.SNOOP_HIT_NO_FWD",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x4003C8000",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.OTHER.L3_HIT.SNOOP_MISS",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x2003C8000",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.OTHER.L3_HIT.SNOOP_NOT_NEEDED",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1003C8000",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that hit a cacheline in the L3 where a snoop was sent.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.OTHER.L3_HIT.SNOOP_SENT",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x1E003C8000",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Counts streaming stores that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0xB7, 0xBB",
> +        "EventName": "OCR.STREAMING_WR.L3_HIT.ANY",
> +        "MSRIndex": "0x1a6,0x1a7",
> +        "MSRValue": "0x3FC03C0800",
> +        "Offcore": "1",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
>       {
>           "BriefDescription": "Demand and prefetch data reads",
>           "CollectPEBSRecord": "2",
> @@ -674,5 +1259,53 @@
>           "SampleAfterValue": "100003",
>           "Speculative": "1",
>           "UMask": "0x4"
> +    },
> +    {
> +        "BriefDescription": "Number of PREFETCHNTA instructions executed.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0x32",
> +        "EventName": "SW_PREFETCH_ACCESS.NTA",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Counts the number of PREFETCHNTA instructions executed.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
> +    {
> +        "BriefDescription": "Number of PREFETCHW instructions executed.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0x32",
> +        "EventName": "SW_PREFETCH_ACCESS.PREFETCHW",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Counts the number of PREFETCHW instructions executed.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x8"
> +    },
> +    {
> +        "BriefDescription": "Number of PREFETCHT0 instructions executed.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0x32",
> +        "EventName": "SW_PREFETCH_ACCESS.T0",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Counts the number of PREFETCHT0 instructions executed.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x2"
> +    },
> +    {
> +        "BriefDescription": "Number of PREFETCHT1 or PREFETCHT2 instructions executed.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3",
> +        "EventCode": "0x32",
> +        "EventName": "SW_PREFETCH_ACCESS.T1_T2",
> +        "PEBScounters": "0,1,2,3",
> +        "PublicDescription": "Counts the number of PREFETCHT1 or PREFETCHT2 instructions executed.",
> +        "SampleAfterValue": "100003",
> +        "Speculative": "1",
> +        "UMask": "0x4"
>       }
>   ]
> \ No newline at end of file
> diff --git a/tools/perf/pmu-events/arch/x86/icelake/other.json b/tools/perf/pmu-events/arch/x86/icelake/other.json
> index 10e8582774ce..08f6321025e8 100644
> --- a/tools/perf/pmu-events/arch/x86/icelake/other.json
> +++ b/tools/perf/pmu-events/arch/x86/icelake/other.json
> @@ -78,418 +78,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop was sent or not.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.ANY",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x3FC03C0004",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_HITM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10003C0004",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_HIT_NO_FWD",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x4003C0004",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_MISS",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x2003C0004",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_NOT_NEEDED",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1003C0004",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that hit a cacheline in the L3 where a snoop was sent.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_CODE_RD.L3_HIT.SNOOP_SENT",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1E003C0004",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that DRAM supplied the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_CODE_RD.LOCAL_DRAM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x184000004",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that have any type of response.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.ANY_RESPONSE",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that DRAM supplied the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.DRAM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x184000001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop was sent or not.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.ANY",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x3FC03C0001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HITM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10003C0001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_HIT_NO_FWD",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x4003C0001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_MISS",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x2003C0001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_NOT_NEEDED",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1003C0001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that hit a cacheline in the L3 where a snoop was sent.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.L3_HIT.SNOOP_SENT",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1E003C0001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand data reads that DRAM supplied the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_DATA_RD.LOCAL_DRAM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x184000001",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that have any type of response.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.ANY_RESPONSE",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that DRAM supplied the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.DRAM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x184000002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop was sent or not.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.L3_HIT.ANY",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x3FC03C0002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_HITM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10003C0002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_HIT_NO_FWD",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x4003C0002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_MISS",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x2003C0002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_NOT_NEEDED",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1003C0002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that hit a cacheline in the L3 where a snoop was sent.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.L3_HIT.SNOOP_SENT",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1E003C0002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that DRAM supplied the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.DEMAND_RFO.LOCAL_DRAM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x184000002",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that have any type of response.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L1D_AND_SWPF.ANY_RESPONSE",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10400",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that DRAM supplied the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L1D_AND_SWPF.DRAM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x184000400",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L1D_AND_SWPF.L3_HIT.ANY",
> +        "EventName": "OCR.DEMAND_CODE_RD.LOCAL_DRAM",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x3FC03C0400",
> +        "MSRValue": "0x184000004",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -498,13 +93,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "BriefDescription": "Counts demand data reads that have any type of response.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L1D_AND_SWPF.L3_HIT.SNOOP_MISS",
> +        "EventName": "OCR.DEMAND_DATA_RD.ANY_RESPONSE",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x2003C0400",
> +        "MSRValue": "0x10001",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -513,13 +108,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "BriefDescription": "Counts demand data reads that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L1D_AND_SWPF.L3_HIT.SNOOP_NOT_NEEDED",
> +        "EventName": "OCR.DEMAND_DATA_RD.DRAM",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1003C0400",
> +        "MSRValue": "0x184000001",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -528,13 +123,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that DRAM supplied the request.",
> +        "BriefDescription": "Counts demand data reads that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L1D_AND_SWPF.LOCAL_DRAM",
> +        "EventName": "OCR.DEMAND_DATA_RD.LOCAL_DRAM",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x184000400",
> +        "MSRValue": "0x184000001",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -543,13 +138,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that have any type of response.",
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that have any type of response.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_DATA_RD.ANY_RESPONSE",
> +        "EventName": "OCR.DEMAND_RFO.ANY_RESPONSE",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10010",
> +        "MSRValue": "0x10002",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -558,13 +153,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that DRAM supplied the request.",
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_DATA_RD.DRAM",
> +        "EventName": "OCR.DEMAND_RFO.DRAM",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x184000010",
> +        "MSRValue": "0x184000002",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -573,13 +168,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop was sent or not.",
> +        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.ANY",
> +        "EventName": "OCR.DEMAND_RFO.LOCAL_DRAM",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x3FC03C0010",
> +        "MSRValue": "0x184000002",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -588,13 +183,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> +        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that have any type of response.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_HITM",
> +        "EventName": "OCR.HWPF_L1D_AND_SWPF.ANY_RESPONSE",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10003C0010",
> +        "MSRValue": "0x10400",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -603,13 +198,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> +        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_HIT_NO_FWD",
> +        "EventName": "OCR.HWPF_L1D_AND_SWPF.DRAM",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x4003C0010",
> +        "MSRValue": "0x184000400",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -618,13 +213,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> +        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_MISS",
> +        "EventName": "OCR.HWPF_L1D_AND_SWPF.LOCAL_DRAM",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x2003C0010",
> +        "MSRValue": "0x184000400",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -633,13 +228,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> +        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that have any type of response.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_NOT_NEEDED",
> +        "EventName": "OCR.HWPF_L2_DATA_RD.ANY_RESPONSE",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1003C0010",
> +        "MSRValue": "0x10010",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -648,13 +243,13 @@
>           "UMask": "0x1"
>       },
>       {
> -        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that hit a cacheline in the L3 where a snoop was sent.",
> +        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
>           "Counter": "0,1,2,3",
>           "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_DATA_RD.L3_HIT.SNOOP_SENT",
> +        "EventName": "OCR.HWPF_L2_DATA_RD.DRAM",
>           "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1E003C0010",
> +        "MSRValue": "0x184000010",
>           "Offcore": "1",
>           "PEBScounters": "0,1,2,3",
>           "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> @@ -707,96 +302,6 @@
>           "Speculative": "1",
>           "UMask": "0x1"
>       },
> -    {
> -        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop was sent or not.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.ANY",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x3FC03C0020",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop hit in another cores caches, data forwarding is required as the data is modified.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_HITM",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x10003C0020",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_HIT_NO_FWD",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x4003C0020",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_MISS",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x2003C0020",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_NOT_NEEDED",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1003C0020",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that hit a cacheline in the L3 where a snoop was sent.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L2_RFO.L3_HIT.SNOOP_SENT",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1E003C0020",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
>       {
>           "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
> @@ -812,21 +317,6 @@
>           "Speculative": "1",
>           "UMask": "0x1"
>       },
> -    {
> -        "BriefDescription": "Counts hardware prefetches to the L3 only that hit a cacheline in the L3 where a snoop was sent or not.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.HWPF_L3.L3_HIT.ANY",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x3FC03C2380",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
>       {
>           "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that have any type of response.",
>           "CollectPEBSRecord": "2",
> @@ -857,66 +347,6 @@
>           "Speculative": "1",
>           "UMask": "0x1"
>       },
> -    {
> -        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that hit a cacheline in the L3 where a snoop hit in another core, data forwarding is not required.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.OTHER.L3_HIT.SNOOP_HIT_NO_FWD",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x4003C8000",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that hit a cacheline in the L3 where a snoop was sent but no other cores had the data.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.OTHER.L3_HIT.SNOOP_MISS",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x2003C8000",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that hit a cacheline in the L3 where a snoop was not needed to satisfy the request.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.OTHER.L3_HIT.SNOOP_NOT_NEEDED",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1003C8000",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that hit a cacheline in the L3 where a snoop was sent.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.OTHER.L3_HIT.SNOOP_SENT",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x1E003C8000",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
>       {
>           "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
> @@ -962,21 +392,6 @@
>           "Speculative": "1",
>           "UMask": "0x1"
>       },
> -    {
> -        "BriefDescription": "Counts streaming stores that hit a cacheline in the L3 where a snoop was sent or not.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0xB7, 0xBB",
> -        "EventName": "OCR.STREAMING_WR.L3_HIT.ANY",
> -        "MSRIndex": "0x1a6,0x1a7",
> -        "MSRValue": "0x3FC03C0800",
> -        "Offcore": "1",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Offcore response can be programmed only with a specific pair of event select and counter MSR, and with specific event codes and predefine mask bit value in a dedicated MSR to specify attributes of the offcore transaction.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
>       {
>           "BriefDescription": "Counts streaming stores that DRAM supplied the request.",
>           "CollectPEBSRecord": "2",
> @@ -991,100 +406,5 @@
>           "SampleAfterValue": "100003",
>           "Speculative": "1",
>           "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Number of PREFETCHNTA instructions executed.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0x32",
> -        "EventName": "SW_PREFETCH_ACCESS.NTA",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Counts the number of PREFETCHNTA instructions executed.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
> -    },
> -    {
> -        "BriefDescription": "Number of PREFETCHW instructions executed.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0x32",
> -        "EventName": "SW_PREFETCH_ACCESS.PREFETCHW",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Counts the number of PREFETCHW instructions executed.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x8"
> -    },
> -    {
> -        "BriefDescription": "Number of PREFETCHT0 instructions executed.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0x32",
> -        "EventName": "SW_PREFETCH_ACCESS.T0",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Counts the number of PREFETCHT0 instructions executed.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x2"
> -    },
> -    {
> -        "BriefDescription": "Number of PREFETCHT1 or PREFETCHT2 instructions executed.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3",
> -        "EventCode": "0x32",
> -        "EventName": "SW_PREFETCH_ACCESS.T1_T2",
> -        "PEBScounters": "0,1,2,3",
> -        "PublicDescription": "Counts the number of PREFETCHT1 or PREFETCHT2 instructions executed.",
> -        "SampleAfterValue": "100003",
> -        "Speculative": "1",
> -        "UMask": "0x4"
> -    },
> -    {
> -        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3,4,5,6,7",
> -        "EventCode": "0xa4",
> -        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
> -        "PEBScounters": "0,1,2,3,4,5,6,7",
> -        "PublicDescription": "Counts the number of Top-down Microarchitecture Analysis (TMA) method's  slots where no micro-operations were being issued from front-end to back-end of the machine due to lack of back-end resources.",
> -        "SampleAfterValue": "10000003",
> -        "Speculative": "1",
> -        "UMask": "0x2"
> -    },
> -    {
> -        "BriefDescription": "TMA slots wasted due to incorrect speculation by branch mispredictions",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3,4,5,6,7",
> -        "EventCode": "0xa4",
> -        "EventName": "TOPDOWN.BR_MISPREDICT_SLOTS",
> -        "PEBScounters": "0,1,2,3,4,5,6,7",
> -        "PublicDescription": "Number of TMA slots that were wasted due to incorrect speculation by branch mispredictions. This event estimates number of operations that were issued but not retired from the specualtive path as well as the out-of-order engine recovery past a branch misprediction.",
> -        "SampleAfterValue": "10000003",
> -        "Speculative": "1",
> -        "UMask": "0x8"
> -    },
> -    {
> -        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "Fixed counter 3",
> -        "EventName": "TOPDOWN.SLOTS",
> -        "PEBScounters": "35",
> -        "PublicDescription": "Number of available slots for an unhalted logical processor. The event increments by machine-width of the narrowest pipeline as employed by the Top-down Microarchitecture Analysis method (TMA). The count is distributed among unhalted logical processors (hyper-threads) who share the same physical core. Software can use this event as the denominator for the top-level metrics of the TMA method. This architectural event is counted on a designated fixed counter (Fixed Counter 3).",
> -        "SampleAfterValue": "10000003",
> -        "Speculative": "1",
> -        "UMask": "0x4"
> -    },
> -    {
> -        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
> -        "CollectPEBSRecord": "2",
> -        "Counter": "0,1,2,3,4,5,6,7",
> -        "EventCode": "0xa4",
> -        "EventName": "TOPDOWN.SLOTS_P",
> -        "PEBScounters": "0,1,2,3,4,5,6,7",
> -        "PublicDescription": "Counts the number of available slots for an unhalted logical processor. The event increments by machine-width of the narrowest pipeline as employed by the Top-down Microarchitecture Analysis method. The count is distributed among unhalted logical processors (hyper-threads) who share the same physical core.",
> -        "SampleAfterValue": "10000003",
> -        "Speculative": "1",
> -        "UMask": "0x1"
>       }
>   ]
> \ No newline at end of file
> diff --git a/tools/perf/pmu-events/arch/x86/icelake/pipeline.json b/tools/perf/pmu-events/arch/x86/icelake/pipeline.json
> index 2b305bdc8cfc..573ac7ac8879 100644
> --- a/tools/perf/pmu-events/arch/x86/icelake/pipeline.json
> +++ b/tools/perf/pmu-events/arch/x86/icelake/pipeline.json
> @@ -730,6 +730,53 @@
>           "Speculative": "1",
>           "UMask": "0x1"
>       },
> +    {
> +        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3,4,5,6,7",
> +        "EventCode": "0xa4",
> +        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
> +        "PEBScounters": "0,1,2,3,4,5,6,7",
> +        "PublicDescription": "Counts the number of Top-down Microarchitecture Analysis (TMA) method's  slots where no micro-operations were being issued from front-end to back-end of the machine due to lack of back-end resources.",
> +        "SampleAfterValue": "10000003",
> +        "Speculative": "1",
> +        "UMask": "0x2"
> +    },
> +    {
> +        "BriefDescription": "TMA slots wasted due to incorrect speculation by branch mispredictions",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3,4,5,6,7",
> +        "EventCode": "0xa4",
> +        "EventName": "TOPDOWN.BR_MISPREDICT_SLOTS",
> +        "PEBScounters": "0,1,2,3,4,5,6,7",
> +        "PublicDescription": "Number of TMA slots that were wasted due to incorrect speculation by branch mispredictions. This event estimates number of operations that were issued but not retired from the specualtive path as well as the out-of-order engine recovery past a branch misprediction.",
> +        "SampleAfterValue": "10000003",
> +        "Speculative": "1",
> +        "UMask": "0x8"
> +    },
> +    {
> +        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "Fixed counter 3",
> +        "EventName": "TOPDOWN.SLOTS",
> +        "PEBScounters": "35",
> +        "PublicDescription": "Number of available slots for an unhalted logical processor. The event increments by machine-width of the narrowest pipeline as employed by the Top-down Microarchitecture Analysis method (TMA). The count is distributed among unhalted logical processors (hyper-threads) who share the same physical core. Software can use this event as the denominator for the top-level metrics of the TMA method. This architectural event is counted on a designated fixed counter (Fixed Counter 3).",
> +        "SampleAfterValue": "10000003",
> +        "Speculative": "1",
> +        "UMask": "0x4"
> +    },
> +    {
> +        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
> +        "CollectPEBSRecord": "2",
> +        "Counter": "0,1,2,3,4,5,6,7",
> +        "EventCode": "0xa4",
> +        "EventName": "TOPDOWN.SLOTS_P",
> +        "PEBScounters": "0,1,2,3,4,5,6,7",
> +        "PublicDescription": "Counts the number of available slots for an unhalted logical processor. The event increments by machine-width of the narrowest pipeline as employed by the Top-down Microarchitecture Analysis method. The count is distributed among unhalted logical processors (hyper-threads) who share the same physical core.",
> +        "SampleAfterValue": "10000003",
> +        "Speculative": "1",
> +        "UMask": "0x1"
> +    },
>       {
>           "BriefDescription": "Number of uops decoded out of instructions exclusively fetched by decoder 0",
>           "CollectPEBSRecord": "2",

-- 
Zhengjun Xing

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ