Re: [PATCH] tracing/power: Don't share template for cpu_idle and cpu_frequency

From: Du, Changbin
Date: Mon Feb 12 2018 - 19:29:10 EST


Thanks, I will improve this change in v2. And also update related docs.

On Mon, Feb 12, 2018 at 12:04:52PM -0500, Steven Rostedt wrote:
> On Sun, 11 Feb 2018 18:50:04 +0800
> "Du, Changbin" <changbin.du@xxxxxxxxx> 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)
> > );
>

--
Thanks,
Changbin Du