On Mon, 18 Nov 2024 08:37:03 +0100
Tomasz Duszynski <tduszyn...@marvell.com> wrote:

> diff --git a/doc/guides/prog_guide/profile_app.rst 
> b/doc/guides/prog_guide/profile_app.rst
> index a6b5fb4d5e..ecb90a0d94 100644
> --- a/doc/guides/prog_guide/profile_app.rst
> +++ b/doc/guides/prog_guide/profile_app.rst
> @@ -7,6 +7,32 @@ Profile Your Application
>  The following sections describe methods of profiling DPDK applications on
>  different architectures.
>  
> +Performance counter based profiling
> +-----------------------------------
> +
> +Majority of architectures support some performance monitoring unit (PMU).
> +Such unit provides programmable counters that monitor specific events.
> +
> +Different tools gather that information, like for example perf.
> +However, in some scenarios when CPU cores are isolated and run
> +dedicated tasks interrupting those tasks with perf may be undesirable.

The data should be folded into telemetry rather than introducing yet another
DPDK API for applications to deal with.


> +
> +In such cases, an application can use the PMU library to read such events 
> via ``rte_pmu_read()``.
> +
> +By default, userspace applications are not allowed to access PMU internals. 
> That can be changed
> +by setting ``/sys/kernel/perf_event_paranoid`` to 2 (that should be a 
> default value anyway) and
> +adding ``CAP_PERFMON`` capability to DPDK application. Please refer to
> +``Documentation/admin-guide/perf-security.rst`` under Linux sources for more 
> information. Fairly
> +recent kernel, i.e >= 5.9, is advised too.

What happens on older kernels?

> +
> +As of now implementation imposes certain limitations:
> +
> +* Only EAL lcores are supported
> +
> +* EAL lcores must not share a cpu
> +
> +* Each EAL lcore measures same group of events
> +
>  
>  Profiling on x86
>  ----------------
> diff --git a/doc/guides/rel_notes/release_24_11.rst 
> b/doc/guides/rel_notes/release_24_11.rst
> index 5063badf39..1c299293e0 100644
> --- a/doc/guides/rel_notes/release_24_11.rst
> +++ b/doc/guides/rel_notes/release_24_11.rst

Well 24.11 is released, so as a minimum will need rebase for 25.03

Reply via email to