Hi,

I think pfm_get_os_event_encoding returns incorrect codes for some Intel
TOPDOWN sub-events.

If I run ./check_events example program with some TOPDOWN events:

./check_events TOPDOWN:BACKEND_BOUND_SLOTS  TOPDOWN:BR_MISPREDICT_SLOTS
 TOPDOWN:MEMORY_BOUND_SLOTS
...
Requested Event: TOPDOWN:BACKEND_BOUND_SLOTS
Actual    Event:
spr::TOPDOWN:BACKEND_BOUND_SLOTS:k=1:u=1:e=0:i=0:c=0:intx=0:intxcp=0
PMU            : Intel SapphireRapid
IDX            : 1073741890
Codes          :
*0x530200*

Requested Event: TOPDOWN:BR_MISPREDICT_SLOTS
Actual    Event:
spr::TOPDOWN:BR_MISPREDICT_SLOTS:k=1:u=1:e=0:i=0:c=0:intx=0:intxcp=0
PMU            : Intel SapphireRapid
IDX            : 1073741890
Codes          :
*0x530800*

Requested Event: TOPDOWN:MEMORY_BOUND_SLOTS
Actual    Event:
spr::TOPDOWN:MEMORY_BOUND_SLOTS:k=1:u=1:e=0:i=0:c=0:intx=0:intxcp=0
PMU            : Intel SapphireRapid
IDX            : 1073741890
Codes          : *0x531000*

>From Intel perfmon json file at
https://github.com/intel/perfmon/blob/main/SPR/events/sapphirerapids_core.json,
if I understand correctly, the above codes should be *0x5302a4*, *0x5308a4*,
and *0x5310a4* respectively:

      "EventCode": "*0xa4*",
      "UMask": "*0x02*",
      "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",

      "EventCode": "*0xa4*",
      "UMask": "*0x08*",
      "EventName": "TOPDOWN.BR_MISPREDICT_SLOTS",

      "EventCode": "*0xa4*",
      "UMask": "*0x10*",
      "EventName": "TOPDOWN.MEMORY_BOUND_SLOTS",

Can someone confirm if this is correct?

Laksono Adhianto
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to