>> This series adds self monitoring support i.e allows to configure and
>> read performance measurement unit (PMU) counters in runtime without
>> using perf utility. This has certain advantages when application runs
>> on isolated cores running dedicated tasks.
>>
>> Events can be read directly using rte_pmu_read() or using dedicated
>> tracepoint rte_eal_trace_pmu_read(). The latter will cause events to
>> be stored inside CTF file.
>>
>> By design, all enabled events are grouped together and the same group
>> is attached to lcores that use self monitoring funtionality.
>>
>> Events are enabled by names, which need to be read from standard
>> location under sysfs i.e
>>
>> /sys/bus/event_source/devices/PMU/events
>>
>> where PMU is a core pmu i.e one measuring cpu events. As of today raw
>> events are not supported.
>
>It would be good to have a working useful example of what and how these
>could be used.
>

I added some tests which demonstrate how to use it. Unfortunately, I don't have 
any specific app
to share this time. 

>Given that most DPDK applications are poll mode, it is not clear how these
>could be useful.
>
>There is a lot of work that perf does to go from the raw counters to useful 
>data,
>and without that exposing the raw stuff doesn't seem that useful

The problem with perf is that some systems simply does not have one by default 
and chances are
you need to build it from sources. It's not a big deal but if you gather some 
specific statistics for
later analysis it seems easier to use what you have at hand. Moreover, 
self-monitoring
may give you some edge e.g. some custom sampling methodology tailored to 
specific task or predefined
bundle of counters you always want to monitor. Other frameworks make use of 
that too, VPP has perfmon
for example. 
 

Reply via email to