From: Andi Kleen <[email protected]>

Export new TopDown metrics events for perf that map to the sub metrics
in the metrics register, and another for the new slots fixed counter.
This makes the new fixed counters in Icelake visible to the perf
user tools.

Signed-off-by: Andi Kleen <[email protected]>
Signed-off-by: Kan Liang <[email protected]>
---

Changes since V1
- Use new umask encoding for topdown events

 arch/x86/events/intel/core.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index 1c0dd95fd0d2..5d720d423a1a 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -320,6 +320,12 @@ EVENT_ATTR_STR_HT(topdown-recovery-bubbles, 
td_recovery_bubbles,
 EVENT_ATTR_STR_HT(topdown-recovery-bubbles.scale, td_recovery_bubbles_scale,
        "4", "2");
 
+EVENT_ATTR_STR(slots,                  slots,          "event=0x00,umask=0x4");
+EVENT_ATTR_STR(topdown-retiring,       td_retiring,    
"event=0x00,umask=0x10");
+EVENT_ATTR_STR(topdown-bad-spec,       td_bad_spec,    
"event=0x00,umask=0x11");
+EVENT_ATTR_STR(topdown-fe-bound,       td_fe_bound,    
"event=0x00,umask=0x12");
+EVENT_ATTR_STR(topdown-be-bound,       td_be_bound,    
"event=0x00,umask=0x13");
+
 static struct attribute *snb_events_attrs[] = {
        EVENT_PTR(td_slots_issued),
        EVENT_PTR(td_slots_retired),
@@ -4534,6 +4540,11 @@ EVENT_ATTR_STR(el-capacity-write, el_capacity_write, 
"event=0x54,umask=0x2");
 static struct attribute *icl_events_attrs[] = {
        EVENT_PTR(mem_ld_hsw),
        EVENT_PTR(mem_st_hsw),
+       EVENT_PTR(slots),
+       EVENT_PTR(td_retiring),
+       EVENT_PTR(td_bad_spec),
+       EVENT_PTR(td_fe_bound),
+       EVENT_PTR(td_be_bound),
        NULL,
 };
 
-- 
2.14.5

Reply via email to