[dpdk-dev] [PATCH v1 12/32] eal/trace: implement registration payload

Jerin Jacob jerinjacobk at gmail.com
Mon Mar 23 11:50:01 CET 2020


On Mon, Mar 23, 2020 at 3:48 PM Mattias Rönnblom
<mattias.ronnblom at ericsson.com> wrote:
>
> On 2020-03-23 10:24, Jerin Jacob wrote:
> > On Fri, Mar 20, 2020 at 12:45 AM Mattias Rönnblom
> > <mattias.ronnblom at ericsson.com> wrote:
> >> On 2020-03-18 20:02, jerinj at marvell.com wrote:
> >>> From: Jerin Jacob <jerinj at marvell.com>
> >>>
> >>> +
> >>> +#define rte_trace_ctf_u64(in)\
> >>> +     RTE_BUILD_BUG_ON(sizeof(uint64_t) != sizeof(typeof(in)));\
> >>> +     __rte_trace_emit_ctf_field(sizeof(uint64_t), RTE_STR(in), "uint64_t")
> >> Delegate to a generic macro, to which you pass the type and the "in"
> >> parameter.
> > Not delegated to have a generic patch to catch the following error in
> > compile time.
> >
> > uint32_t val = 12;
> >
> > rte_trace_ctf_u64(val)
>
> If you pass the type as I suggested, is there something preventing
> generating exactly the same code as the non-delegating macros?
>
>
> #define __rte_trace_cft(in, in_type) \
>
>      RTE_BUILD_BUG_ON(sizeof(in_type), != sizeof(typeof(in)));
>
>      __rte_trace_emit_cft_field(sizeof(in_type), RTE_STR(in),
> RTE_STR(in_type))
>
> #define rte_trace_cft_u64(in) \
>
>      __rte_trace_ctf(in, uint64_t)

This will work. I will change to this scheme in v2.



>
>


More information about the dev mailing list