On Sun, 11 Feb 2018 18:50:04 +0800
"Du, Changbin" <[email protected]> wrote:

> Steve, How abount DEFINE_EVENT_PRINT as below?

Yes, DEFINE_EVENT_PRINT is better.

> 
> diff --git a/include/trace/events/power.h b/include/trace/events/power.h
> index 908977d..e71ce98 100644
> --- a/include/trace/events/power.h
> +++ b/include/trace/events/power.h
> @@ -14,12 +14,12 @@
> 
>  DECLARE_EVENT_CLASS(cpu,
> 
> -       TP_PROTO(unsigned int state, unsigned int cpu_id),
> +       TP_PROTO(int state, unsigned int cpu_id),
> 
>         TP_ARGS(state, cpu_id),
> 
>         TP_STRUCT__entry(
> -               __field(        u32,            state           )
> +               __field(        s32,            state           )
>                 __field(        u32,            cpu_id          )
>         ),
> 
> @@ -28,13 +28,12 @@ DECLARE_EVENT_CLASS(cpu,
>                 __entry->cpu_id = cpu_id;
>         ),
> 
> -       TP_printk("state=%lu cpu_id=%lu", (unsigned long)__entry->state,
> -                 (unsigned long)__entry->cpu_id)

Yous still need the type casting, because s32/u32 on 32 bit machines
can be defined as "long".

-- Steve

> +       TP_printk("state=%d cpu_id=%u", __entry->state, __entry->cpu_id)
>  );
> 
>  DEFINE_EVENT(cpu, cpu_idle,
> 
> -       TP_PROTO(unsigned int state, unsigned int cpu_id),
> +       TP_PROTO(int state, unsigned int cpu_id),
> 
>         TP_ARGS(state, cpu_id)
>  );
> @@ -141,11 +140,13 @@ TRACE_EVENT(pstate_sample,
>                 { PM_EVENT_RESTORE, "restore" }, \
>                 { PM_EVENT_RECOVER, "recover" })
> 
> -DEFINE_EVENT(cpu, cpu_frequency,
> +DEFINE_EVENT_PRINT(cpu, cpu_frequency,
> 
> -       TP_PROTO(unsigned int frequency, unsigned int cpu_id),
> +       TP_PROTO(int state, unsigned int cpu_id),
> 
> -       TP_ARGS(frequency, cpu_id)
> +       TP_ARGS(state, cpu_id),
> +
> +       TP_printk("frequency=%u cpu_id=%lu", __entry->state, __entry->cpu_id)
>  );

Reply via email to