Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.

How to read Uncore Events by perf tools.

Daejin_J_
Beginner
2,995 Views

Hello

Does anyone know how to read intel "uncore events" by perf tools?

I used to exploit some commands to read core's performance counters like below. 

  - perf stat -e cpu/event=0xd3,umask=0x01/pp <command>

But, I am sure how to read uncore events such as Ingress_occupancy on CHA. 

when I try to a command like below, it doesn't work well..

  - perf state -e uncore_cha_0/event=0x11,umask=0x01 <command>

Note that I am using Knights Landing machine.

Is there any idea?

Sincerely,

Thank you.

 

0 Kudos
6 Replies
Dmitry_R_Intel1
Employee
2,995 Views

The following command worked for me:

perf stat -a -e uncore_cha_0/event=0x11,umask=0x1/

0 Kudos
Daejin_J_
Beginner
2,995 Views

Dear Dmitry,

Could you let me know which machine, kernel, perf version you tested on?

In my case, I used Intel's KNL, Linux knl 3.10.0-327.13.1.el7.xppsl_1.4.0.3211.x86_64, and perf version 3.10.0-327.el7.x86_64.debug. I received the "not supported" message.

Please check the following results.

 Performance counter stats for 'ls':

   <not supported>      uncore_cha_0/event=0x11,umask=01/

       0.009539475 seconds time elapsed

Thank you.

Daejin.

 

0 Kudos
McCalpinJohn
Honored Contributor III
2,995 Views

I also got the "<not supported>" message on 3.10.0-327.22.2.el7.xppsl_1.4.1.3272.x86_64, but this morning when I tried it again I got a much better error message pointing to "perf_event_paranoid" permissions.  

Sure enough,  I see that /proc/sys/kernel/perf_event_paranoid is set to 1, and setting it to zero allows the "perf stat" command above to succeed.  Running STREAM on 68 cores gave non-zero counts:

     1,130,452,502      uncore_cha_0/event=0x11,umask=0x1/                                   

       0.440644400 seconds time elapsed

 

0 Kudos
Daejin_J_
Beginner
2,995 Views

Dear Dr. John

Thank you for your response.

I updated my kernel version to 3.10.0-327.36.1.el7.xppsl_1.4.2.3331.x86_64 on my KNL CPU 7250. and set /proc/sys/kernel/perf_event_paranoid to zero. However, I still got the <not supported> message for uncore_cha_0/event=0x11,umask=0x01/

When I see the Kernel PMU event listed from "perf list" , there are not any unocre events. (my perf version is 3.10.0-327.36.2.el7.x86_64.debug )

Do you have any suggestions? Please let me know your perf version.

 

 

 

0 Kudos
Daejin_J_
Beginner
2,995 Views

Dear Dr John and Dmitry.

I did it. I extracted occupancy counters thanks to you.

But, I'd like to set a certain threshold to get event counts whenever the occupancy exceeds the threshold. is it possible on perf?

Thank you.

Daejin Jung.

0 Kudos
Dmitry_R_Intel1
Employee
2,995 Views

Please try adding 'thresh' option, e.g.:

uncore_cha_0/event=0x11,umask=0x1,thresh=0x2/

0 Kudos
Reply