[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180212120452.50abd9bf@gandalf.local.home>
Date: Mon, 12 Feb 2018 12:04:52 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: "Du, Changbin" <changbin.du@...el.com>
Cc: mingo@...hat.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] tracing/power: Don't share template for cpu_idle and
cpu_frequency
On Sun, 11 Feb 2018 18:50:04 +0800
"Du, Changbin" <changbin.du@...el.com> 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)
> );
Powered by blists - more mailing lists