Re: [PATCH v2] tracing/synthetic: use union instead of casts

From: Steven Rostedt
Date: Wed Aug 09 2023 - 08:54:57 EST


On Wed, 9 Aug 2023 09:14:59 +0200
Sven Schnelle <svens@xxxxxxxxxxxxx> wrote:

> --- a/kernel/trace/trace.h
> +++ b/kernel/trace/trace.h
> @@ -1295,6 +1295,16 @@ static inline void trace_branch_disable(void)
> /* set ring buffers to default size if not already done so */
> int tracing_update_buffers(void);
>
> +struct trace_dynamic {
> + union {
> + u8 as_u8;
> + u16 as_u16;
> + u32 as_u32;
> + u64 as_u64;
> + struct trace_dynamic_info as_dynamic;
> + };
> +};
> +

No need to create a structure around a single element union. Also, I would
like to name it for what it is for.

union trace_synth_field {
u8 as_u8;
u16 as_u16;
u32 as_u32;
u64 as_u64;
struct trace_dynamic_info as_dynamic;
};

Other than that, the patch looks good. Although I still need to test it.

-- Steve