On Wed, Apr 25, 2018 at 06:50:18AM -0700, kan.li...@linux.intel.com wrote:
> From: Kan Liang <kan.li...@linux.intel.com>
> 
> Perf stat doesn't count the uncore event aliases from the same uncore
> block in a group, for example:
> 
>   perf stat -e '{unc_m_cas_count.all,unc_m_clockticks}' -a -I 1000
>   #           time             counts unit events
>        1.000447342      <not counted>      unc_m_cas_count.all
>        1.000447342      <not counted>      unc_m_clockticks
>        2.000740654      <not counted>      unc_m_cas_count.all
>        2.000740654      <not counted>      unc_m_clockticks
> 
> The output is very misleading. It gives a wrong impression that the
> uncore event doesn't work.
> 
> An uncore block could be composed by several PMUs. An uncore event alias
> is a joint name which means the same event runs on all PMUs of a block.
> Perf doesn't support mixed events from different PMUs in the same group.
> It is wrong to put uncore event aliases in a big group.
> 
> The right way is to split the big group into multiple small groups which
> only include the events from the same PMU.
> Only uncore event aliases from the same uncore block should be specially
> handled here. It doesn't make sense to mix the uncore events with other
> uncore events from different blocks or even core events in a group.
> 
> With the patch:
>   #           time             counts unit events
>      1.001557653            140,833      unc_m_cas_count.all
>      1.001557653      1,330,231,332      unc_m_clockticks
>      2.002709483             85,007      unc_m_cas_count.all
>      2.002709483      1,429,494,563      unc_m_clockticks

hum, I still can see the original behaviour even with the patch:

[jolsa@krava perf]$ sudo ./perf stat -e '{data_reads,clockticks}' -a -I 1000
#           time             counts unit events
     1.000184929      <not counted> MiB  data_reads                             
                     
     1.000184929    <not supported>      clockticks                             
                     
     2.000552765      <not counted> MiB  data_reads                             
                     
     2.000552765    <not supported>      clockticks                             
                     
     3.000846298      <not counted> MiB  data_reads                             
                     
     3.000846298    <not supported>      clockticks                             
                     
     4.001044852      <not counted> MiB  data_reads                             
                     
     4.001044852    <not supported>      clockticks                             
                     
     5.001247131      <not counted> MiB  data_reads                             
                     
     5.001247131    <not supported>      clockticks                             
                     
^C     5.546917060      <not counted> MiB  data_reads                           
                       
     5.546917060    <not supported>      clockticks                             
                     


jirka

Reply via email to