Hi Leo,

   A Coresight PMU works the same way as any other PMU, i.e the name of the PMU 
is
   listed along with configuration options within forward slashes '/'.  Since a
   Coresight system will typically have more than one sink, the name of the 
sink to
-work with needs to be specified as an event option.  Names for sink to choose
-from are listed in sysFS under ($SYSFS)/bus/coresight/devices:
+work with needs to be specified as an event option.
+On newer kernels the available sinks are listed in sysFS under:
+($SYSFS)/bus/event_source/devices/cs_etm/sinks/
-       root@linaro-nano:~# ls /sys/bus/coresight/devices/
-               20010000.etf   20040000.funnel  20100000.stm  22040000.etm
-               22140000.etm  230c0000.funnel  23240000.etm 20030000.tpiu
-               20070000.etr     20120000.replicator  220c0000.funnel
-               23040000.etm  23140000.etm     23340000.etm
+       root@localhost:/sys/bus/event_source/devices/cs_etm/sinks# ls
+       tmc_etf0  tmc_etr0  tpiu0
-       root@linaro-nano:~# perf record -e cs_etm/@20070000.etr/u --per-thread 
program
+On older kernels, this may need to be found from the list of coresight devices,
+available under ($SYSFS)/bus/coresight/devices/:
+
+       root@localhost:/sys/bus/coresight/devices# ls
+       etm0  etm1  etm2  etm3  etm4  etm5  funnel0  funnel1  funnel2  
replicator0  stm0 tmc_etf0  tmc_etr0  tpiu0
+
+       root@linaro-nano:~# perf record -e cs_etm/@tmc_etr0/u --per-thread 
program

On the "older" kernels you are referring to one would find the original naming
convention.  Everything else looks good to me.

True, but do we care what we see there ? All we care about is the location,
where to find them. I could fix it, if you think thats needed.

IIUC, either the old kernel or newer kernel, both we can find the event
from ($SYSFS)/bus/event_source/devices/cs_etm/sinks/; the only
difference between them is the naming convention.

The cs_etm/sinks was only added with the CPU-wide trace support. So, if someone
refers to this document alone and then tries to do something on on older kernel,
which is quite possible for a production device running a stable kernel, {s,}he
might be surprised.


So the doc can use the same location to find event for both new and
old kernel, and explain the naming convention difference?

My question is really, does the naming convention matter ? What you see
under the directory is the name. But yes, I am open to add a section to
explain the fact that we changed the naming scheme, if everyone agrees
to it.

Cheers
Suzuki

Reply via email to