>-----Original Message-----
>From: Tyler Retzlaff <roret...@linux.microsoft.com>
>Sent: Friday, January 20, 2023 7:30 PM
>To: Tomasz Duszynski <tduszyn...@marvell.com>
>Cc: dev@dpdk.org; Thomas Monjalon <tho...@monjalon.net>; Jerin Jacob
>Kollanukkaran
><jer...@marvell.com>; m...@smartsharesystems.com; ruifeng.w...@arm.com;
>mattias.ronnb...@ericsson.com; zhou...@loongson.cn; bruce.richard...@intel.com
>Subject: [EXT] Re: [PATCH v6 1/4] lib: add generic support for reading PMU
>events
>
>External Email
>
>----------------------------------------------------------------------
>On Fri, Jan 20, 2023 at 12:39:12AM +0100, Tomasz Duszynski wrote:
>> Add support for programming PMU counters and reading their values in
>> runtime bypassing kernel completely.
>>
>> This is especially useful in cases where CPU cores are isolated
>> (nohz_full) i.e run dedicated tasks. In such cases one cannot use
>> standard perf utility without sacrificing latency and performance.
>>
>> Signed-off-by: Tomasz Duszynski <tduszyn...@marvell.com>
>> ---
>> MAINTAINERS | 5 +
>> app/test/meson.build | 4 +
>> app/test/test_pmu.c | 42 +++
>> doc/api/doxy-api-index.md | 3 +-
>> doc/api/doxy-api.conf.in | 1 +
>> doc/guides/prog_guide/profile_app.rst | 8 +
>> doc/guides/rel_notes/release_23_03.rst | 7 +
>> lib/meson.build | 1 +
>> lib/pmu/meson.build | 13 +
>> lib/pmu/pmu_private.h | 29 ++
>> lib/pmu/rte_pmu.c | 436 +++++++++++++++++++++++++
>> lib/pmu/rte_pmu.h | 206 ++++++++++++
>> lib/pmu/version.map | 19 ++
>> 13 files changed, 773 insertions(+), 1 deletion(-) create mode
>> 100644 app/test/test_pmu.c create mode 100644 lib/pmu/meson.build
>> create mode 100644 lib/pmu/pmu_private.h create mode 100644
>> lib/pmu/rte_pmu.c create mode 100644 lib/pmu/rte_pmu.h create mode
>> 100644 lib/pmu/version.map
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS index 9a0f416d2e..9f13eafd95
>> 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -1697,6 +1697,11 @@ M: Nithin Dabilpuram <ndabilpu...@marvell.com>
>> M: Pavan Nikhilesh <pbhagavat...@marvell.com>
>> F: lib/node/
>>
>> +PMU - EXPERIMENTAL
>> +M: Tomasz Duszynski <tduszyn...@marvell.com>
>> +F: lib/pmu/
>> +F: app/test/test_pmu*
>> +
>>
>> Test Applications
>> -----------------
>> diff --git a/app/test/meson.build b/app/test/meson.build index
>> f34d19e3c3..b2c2a618b1 100644
>> --- a/app/test/meson.build
>> +++ b/app/test/meson.build
>> @@ -360,6 +360,10 @@ if dpdk_conf.has('RTE_LIB_METRICS')
>> test_sources += ['test_metrics.c']
>> fast_tests += [['metrics_autotest', true, true]] endif
>> +if is_linux
>> + test_sources += ['test_pmu.c']
>> + fast_tests += [['pmu_autotest', true, true]] endif
>
>traditionally we don't conditionally include tests at the meson.build level,
>instead we run all
>tests and have them skip when executed for unsupported exec environments.
>
>you can take a look at test_eventdev.c as an example for a test that is
>skipped on windows, i'm
>sure it could be adapted to skip on freebsd if you aren't supporting it.
Right, this looks better. Thanks for pointing this out.