Commit-ID:  1c3a2c864d2da0454bca1e41d3e0090c18678909
Gitweb:     https://git.kernel.org/tip/1c3a2c864d2da0454bca1e41d3e0090c18678909
Author:     Andi Kleen <[email protected]>
AuthorDate: Thu, 14 Mar 2019 14:56:26 -0700
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Mon, 1 Apr 2019 15:23:48 -0300

perf vendor events intel: Update Silvermont to v14

Signed-off-by: Andi Kleen <[email protected]>
Cc: Kan Liang <[email protected]>
Cc: Jiri Olsa <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
 tools/perf/pmu-events/arch/x86/silvermont/cache.json |  2 +-
 tools/perf/pmu-events/arch/x86/silvermont/other.json | 20 ++++++++++++++++++++
 .../pmu-events/arch/x86/silvermont/pipeline.json     |  5 +----
 3 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/tools/perf/pmu-events/arch/x86/silvermont/cache.json 
b/tools/perf/pmu-events/arch/x86/silvermont/cache.json
index 82be7d1b8b81..805ef1436539 100644
--- a/tools/perf/pmu-events/arch/x86/silvermont/cache.json
+++ b/tools/perf/pmu-events/arch/x86/silvermont/cache.json
@@ -36,7 +36,7 @@
         "BriefDescription": "L2 cache request misses"
     },
     {
-        "PublicDescription": "Counts cycles that fetch is stalled due to an 
outstanding ICache miss. That is, the decoder queue is able to accept bytes, 
but the fetch unit is unable to provide bytes due to an ICache miss.  Note: 
this event is not the same as the total number of cycles spent retrieving 
instruction cache lines from the memory hierarchy.\r\nCounts cycles that fetch 
is stalled due to any reason. That is, the decoder queue is able to accept 
bytes, but the fetch unit is unable to provide bytes.  This will include cycles 
due to an ITLB miss, ICache miss and other events. \r\n",
+        "PublicDescription": "Counts cycles that fetch is stalled due to an 
outstanding ICache miss. That is, the decoder queue is able to accept bytes, 
but the fetch unit is unable to provide bytes due to an ICache miss.  Note: 
this event is not the same as the total number of cycles spent retrieving 
instruction cache lines from the memory hierarchy.\r\nCounts cycles that fetch 
is stalled due to any reason. That is, the decoder queue is able to accept 
bytes, but the fetch unit is unable to provide bytes.  This will include cycles 
due to an ITLB miss, ICache miss and other events.",
         "EventCode": "0x86",
         "Counter": "0,1",
         "UMask": "0x4",
diff --git a/tools/perf/pmu-events/arch/x86/silvermont/other.json 
b/tools/perf/pmu-events/arch/x86/silvermont/other.json
new file mode 100644
index 000000000000..47814046fa9d
--- /dev/null
+++ b/tools/perf/pmu-events/arch/x86/silvermont/other.json
@@ -0,0 +1,20 @@
+[
+    {
+        "PublicDescription": "Counts cycles that fetch is stalled due to an 
outstanding ITLB miss. That is, the decoder queue is able to accept bytes, but 
the fetch unit is unable to provide bytes due to an ITLB miss.  Note: this 
event is not the same as page walk cycles to retrieve an instruction 
translation.",
+        "EventCode": "0x86",
+        "Counter": "0,1",
+        "UMask": "0x2",
+        "EventName": "FETCH_STALL.ITLB_FILL_PENDING_CYCLES",
+        "SampleAfterValue": "200003",
+        "BriefDescription": "Cycles code-fetch stalled due to an outstanding 
ITLB miss."
+    },
+    {
+        "PublicDescription": "Counts cycles that fetch is stalled due to any 
reason. That is, the decoder queue is able to accept bytes, but the fetch unit 
is unable to provide bytes.  This will include cycles due to an ITLB miss, 
ICache miss and other events.",
+        "EventCode": "0x86",
+        "Counter": "0,1",
+        "UMask": "0x3f",
+        "EventName": "FETCH_STALL.ALL",
+        "SampleAfterValue": "200003",
+        "BriefDescription": "Cycles code-fetch stalled due to any reason."
+    }
+]
\ No newline at end of file
diff --git a/tools/perf/pmu-events/arch/x86/silvermont/pipeline.json 
b/tools/perf/pmu-events/arch/x86/silvermont/pipeline.json
index 7468af99190a..1ed62ad4cf77 100644
--- a/tools/perf/pmu-events/arch/x86/silvermont/pipeline.json
+++ b/tools/perf/pmu-events/arch/x86/silvermont/pipeline.json
@@ -210,7 +210,7 @@
         "UMask": "0x4",
         "EventName": "NO_ALLOC_CYCLES.MISPREDICTS",
         "SampleAfterValue": "200003",
-        "BriefDescription": "Counts the number of cycles when no uops are 
allocated and the alloc pipe is stalled waiting for a mispredicted jump to 
retire.  After the misprediction is detected, the front end will start 
immediately but the allocate pipe stalls until the mispredicted "
+        "BriefDescription": "Counts the number of cycles when no uops are 
allocated and the alloc pipe is stalled waiting for a mispredicted jump to 
retire.  After the misprediction is detected, the front end will start 
immediately but the allocate pipe stalls until the mispredicted"
     },
     {
         "EventCode": "0xCA",
@@ -275,7 +275,6 @@
     },
     {
         "PublicDescription": "This event counts the number of instructions 
that retire.  For instructions that consist of multiple micro-ops, this event 
counts exactly once, as the last micro-op of the instruction retires.  The 
event continues counting while instructions retire, including during interrupt 
service routines caused by hardware interrupts, faults or traps.  Background: 
Modern microprocessors employ extensive pipelining and speculative techniques.  
Since sometimes an instruction is started but never completed, the notion of 
\"retirement\" is introduced.  A retired instruction is one that commits its 
states. Or stated differently, an instruction might be abandoned at some point. 
No instruction is truly finished until it retires.  This counter measures the 
number of completed instructions.  The fixed event is INST_RETIRED.ANY and the 
programmable event is INST_RETIRED.ANY_P.",
-        "EventCode": "0x00",
         "Counter": "Fixed counter 1",
         "UMask": "0x1",
         "EventName": "INST_RETIRED.ANY",
@@ -284,7 +283,6 @@
     },
     {
         "PublicDescription": "Counts the number of core cycles while the core 
is not in a halt state. The core enters the halt state when it is running the 
HLT instruction. This event is a component in many key event ratios.  The core 
frequency may change from time to time. For this reason this event may have a 
changing ratio with regards to time. In systems with a constant core frequency, 
this event can give you a measurement of the elapsed time while the core was 
not in halt state by dividing the event count by the core frequency. This event 
is architecturally defined and is a designated fixed counter.  
CPU_CLK_UNHALTED.CORE and CPU_CLK_UNHALTED.CORE_P use the core frequency which 
may change from time to time.  CPU_CLK_UNHALTE.REF_TSC and CPU_CLK_UNHALTED.REF 
are not affected by core frequency changes but counts as if the core is running 
at the maximum frequency all the time.  The fixed events are 
CPU_CLK_UNHALTED.CORE and CPU_CLK_UNHALTED.REF_TSC and the programmable eve!
 nts are CPU_CLK_UNHALTED.CORE_P and CPU_CLK_UNHALTED.REF.",
-        "EventCode": "0x00",
         "Counter": "Fixed counter 2",
         "UMask": "0x2",
         "EventName": "CPU_CLK_UNHALTED.CORE",
@@ -293,7 +291,6 @@
     },
     {
         "PublicDescription": "Counts the number of reference cycles while the 
core is not in a halt state. The core enters the halt state when it is running 
the HLT instruction. This event is a component in many key event ratios.  The 
core frequency may change from time. This event is not affected by core 
frequency changes but counts as if the core is running at the maximum frequency 
all the time.  Divide this event count by core frequency to determine the 
elapsed time while the core was not in halt state.  Divide this event count by 
core frequency to determine the elapsed time while the core was not in halt 
state.  This event is architecturally defined and is a designated fixed 
counter.  CPU_CLK_UNHALTED.CORE and CPU_CLK_UNHALTED.CORE_P use the core 
frequency which may change from time to time.  CPU_CLK_UNHALTE.REF_TSC and 
CPU_CLK_UNHALTED.REF are not affected by core frequency changes but counts as 
if the core is running at the maximum frequency all the time.  The fixed e!
 vents are CPU_CLK_UNHALTED.CORE and CPU_CLK_UNHALTED.REF_TSC and the 
programmable events are CPU_CLK_UNHALTED.CORE_P and CPU_CLK_UNHALTED.REF.",
-        "EventCode": "0x00",
         "Counter": "Fixed counter 3",
         "UMask": "0x3",
         "EventName": "CPU_CLK_UNHALTED.REF_TSC",

Reply via email to