[EXTERNAL] Re: [PATCH v15 4/4] eal: add PMU support to tracing library
Tomasz Duszynski
tduszynski at marvell.com
Fri Nov 8 11:36:43 CET 2024
>> From: Tomasz Duszynski [mailto:tduszynski at marvell.com]
>> Sent: Monday, 28 October 2024 11.32
>>
>> >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.
>
>OK; I suppose the required change of tracing library is not going to happen right away, so Ack to
>keeping it here (for now).
>
>Please rename trace point to rte_pmu_trace_read / lib.pmu.read as requested by Jerin. Although it
>is temporarily in EAL (due to the above trace library issue), it really is PMU library, not EAL
>library.
>
Sure, no problem.
More information about the dev
mailing list