[PATCH v8 1/6] eal: trace: add trace point emit for blob
David Marchand
david.marchand at redhat.com
Mon Feb 6 15:48:02 CET 2023
On Mon, Feb 6, 2023 at 12:59 PM Ankur Dwivedi <adwivedi at marvell.com> wrote:
>
> Adds a trace point emit function for capturing a blob. The blob
> captures the length passed by the application followed by the array.
>
> The maximum blob bytes which can be captured is bounded by
> RTE_TRACE_BLOB_LEN_MAX macro. The value for max blob length macro is
> 64 bytes. If the length is less than 64 the remaining trailing bytes
> are set to zero.
>
> This patch also adds test case for emit blob tracepoint function.
>
> Signed-off-by: Ankur Dwivedi <adwivedi at marvell.com>
> Acked-by: Morten Brørup <mb at smartsharesystems.com>
> Acked-by: Sunil Kumar Kori <skori at marvell.com>
> Acked-by: Jerin Jacob <jerinj at marvell.com>
I came accross this patch while looking at CI failures.
Giving my two cents.
> diff --git a/lib/eal/include/rte_eal_trace.h b/lib/eal/include/rte_eal_trace.h
> index 5ef4398230..6f5c022558 100644
> --- a/lib/eal/include/rte_eal_trace.h
> +++ b/lib/eal/include/rte_eal_trace.h
> @@ -143,6 +143,12 @@ RTE_TRACE_POINT(
> rte_trace_point_emit_string(func);
> )
>
> +RTE_TRACE_POINT(
> + rte_eal_trace_generic_blob,
> + RTE_TRACE_POINT_ARGS(const void *in, uint8_t len),
> + rte_trace_point_emit_blob(in, len);
> +)
> +
> #define RTE_EAL_TRACE_GENERIC_FUNC rte_eal_trace_generic_func(__func__)
This new tracepoint is exported as a public API.
So its underlying symbol __rte_eal_trace_generic_blob (part of the
inlined implementation) is visible to applications:
#define __RTE_TRACE_POINT(_mode, _tp, _args, ...) \
extern rte_trace_point_t __##_tp; \
static __rte_always_inline void \
_tp _args \
{ \
__rte_trace_point_emit_header_##_mode(&__##_tp); \
__VA_ARGS__ \
}
__rte_eal_trace_generic_blob must be exported as a versionned symbol
(i.e. listed in EAL version.map).
--
David Marchand
More information about the dev
mailing list