[EXTERNAL] Re: [PATCH v15 4/4] eal: add PMU support to tracing library
Tomasz Duszynski
tduszynski at marvell.com
Mon Oct 28 11:32:17 CET 2024
>On Fri, Oct 25, 2024 at 2:25 PM Tomasz Duszynski <tduszynski at marvell.com> wrote:
>>
>> In order to profile app one needs to store significant amount of
>> samples somewhere for an analysis later on. Since trace library
>> supports storing data in a CTF format lets take advantage of that and
>> add a dedicated PMU tracepoint.
>>
>> Signed-off-by: Tomasz Duszynski <tduszynski at marvell.com>
>
>
>--------------START-------------------------
>> diff --git a/lib/eal/common/eal_common_trace_points.c
>> b/lib/eal/common/eal_common_trace_points.c
>> index 0f1240ea3a..c99eab92f4 100644
>> --- a/lib/eal/common/eal_common_trace_points.c
>> +++ b/lib/eal/common/eal_common_trace_points.c
>> @@ -100,3 +100,8 @@ RTE_TRACE_POINT_REGISTER(rte_eal_trace_intr_enable,
>> lib.eal.intr.enable)
>> RTE_TRACE_POINT_REGISTER(rte_eal_trace_intr_disable,
>> lib.eal.intr.disable)
>> +
>> +#ifdef RTE_LIB_PMU
>> +RTE_TRACE_POINT_REGISTER(rte_eal_trace_pmu_read,
>> + lib.eal.pmu.read)
>> +#endif
>>
>> #define RTE_EAL_TRACE_GENERIC_FUNC
>> rte_eal_trace_generic_func(__func__)
>>
>> +#ifdef RTE_LIB_PMU
>> +#include <rte_pmu.h>
>> +
>> +RTE_TRACE_POINT_FP(
>> + rte_eal_trace_pmu_read,
>> + RTE_TRACE_POINT_ARGS(unsigned int index),
>> + uint64_t val = rte_pmu_read(index);
>> + rte_trace_point_emit_u64(val);
>> +)
>> +#endif
>> +
>--------------END-------------------------
>
>All of the above changes can go to lib/pmu. Right? Like ethdev is adding its trace points in ethdev
>library?
>and make trace point name as rte_pmu_trace_read
That's because libpmu is higher than eal in hierarchy of libraries so it won't see some symbols, for example __rte_trace_point_register().
So first tracing itself needs to be moved out to a separate library and then approach other libs take would become natural for libpmu too.
More information about the dev
mailing list