2016-03-01 17:39:45

by Michele DiGiorgio

[permalink] [raw]
Subject: [PATCH] thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros

Userspace tools are not aware of how to convert the enums provided by
the tracepoints to their corresponding strings.

Adding TRACE_DEFINE_ENUM() macros allows to make the enums available
to userspace to let the tools know what those enum values represent.

In particular, for thermal zone trip types what we obtained before was
something like:

kworker/1:1-460 [001] 320.372732: thermal_zone_trip: thermal_zone=soc
id=0 trip=1 trip_type=1

Unfortunately, userspace tools do not know how to convert enum values to
strings and as a consequence they can only forward the enum value to the
output. By using TRACE_DEFINE_ENUM() macros for thermal traces we get the
following trace line:

kworker/1:1-460 [001] 320.372732: thermal_zone_trip: thermal_zone=soc
id=0 trip=1 trip_type=PASSIVE

Userspace tools are now able to better understand the meaning of the trip_type
and provide the user with more readable information.

CC: Steven Rostedt <[email protected]>
CC: Eduardo Valentin <[email protected]>
Signed-off-by: Michele Di Giorgio <[email protected]>
---
include/trace/events/thermal.h | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/include/trace/events/thermal.h b/include/trace/events/thermal.h
index 5738bb3..2b4a8ff 100644
--- a/include/trace/events/thermal.h
+++ b/include/trace/events/thermal.h
@@ -8,6 +8,18 @@
#include <linux/thermal.h>
#include <linux/tracepoint.h>

+TRACE_DEFINE_ENUM(THERMAL_TRIP_CRITICAL);
+TRACE_DEFINE_ENUM(THERMAL_TRIP_HOT);
+TRACE_DEFINE_ENUM(THERMAL_TRIP_PASSIVE);
+TRACE_DEFINE_ENUM(THERMAL_TRIP_ACTIVE);
+
+#define show_tzt_type(type) \
+ __print_symbolic(type, \
+ { THERMAL_TRIP_CRITICAL, "CRITICAL"}, \
+ { THERMAL_TRIP_HOT, "HOT"}, \
+ { THERMAL_TRIP_PASSIVE, "PASSIVE"}, \
+ { THERMAL_TRIP_ACTIVE, "ACTIVE"})
+
TRACE_EVENT(thermal_temperature,

TP_PROTO(struct thermal_zone_device *tz),
@@ -73,9 +85,9 @@ TRACE_EVENT(thermal_zone_trip,
__entry->trip_type = trip_type;
),

- TP_printk("thermal_zone=%s id=%d trip=%d trip_type=%d",
+ TP_printk("thermal_zone=%s id=%d trip=%d trip_type=%s",
__get_str(thermal_zone), __entry->id, __entry->trip,
- __entry->trip_type)
+ show_tzt_type(__entry->trip_type))
);

TRACE_EVENT(thermal_power_cpu_get_power,
--
1.9.1


2016-03-01 18:20:12

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros

On Tue, 1 Mar 2016 17:38:54 +0000
Michele Di Giorgio <[email protected]> wrote:

> Userspace tools are not aware of how to convert the enums provided by
> the tracepoints to their corresponding strings.
>
> Adding TRACE_DEFINE_ENUM() macros allows to make the enums available
> to userspace to let the tools know what those enum values represent.
>
> In particular, for thermal zone trip types what we obtained before was
> something like:
>
> kworker/1:1-460 [001] 320.372732: thermal_zone_trip: thermal_zone=soc
> id=0 trip=1 trip_type=1
>
> Unfortunately, userspace tools do not know how to convert enum values to
> strings and as a consequence they can only forward the enum value to the
> output. By using TRACE_DEFINE_ENUM() macros for thermal traces we get the
> following trace line:
>
> kworker/1:1-460 [001] 320.372732: thermal_zone_trip: thermal_zone=soc
> id=0 trip=1 trip_type=PASSIVE
>
> Userspace tools are now able to better understand the meaning of the trip_type
> and provide the user with more readable information.
>

Acked-by: Steven Rostedt <[email protected]>

-- Steve

2016-03-03 17:11:01

by Michele DiGiorgio

[permalink] [raw]
Subject: Re: [PATCH] thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros

Hello Steven,

Thanks for acknowledging the patch.

Will you be merging it or should I refer to somebody else?

Kind regards,
Michele

On 01/03/16 18:20, Steven Rostedt wrote:
> On Tue, 1 Mar 2016 17:38:54 +0000
> Michele Di Giorgio <[email protected]> wrote:
>
> > Userspace tools are not aware of how to convert the enums provided by
> > the tracepoints to their corresponding strings.
> >
> > Adding TRACE_DEFINE_ENUM() macros allows to make the enums available
> > to userspace to let the tools know what those enum values represent.
> >
> > In particular, for thermal zone trip types what we obtained before was
> > something like:
> >
> > kworker/1:1-460 [001] 320.372732: thermal_zone_trip: thermal_zone=soc
> > id=0 trip=1 trip_type=1
> >
> > Unfortunately, userspace tools do not know how to convert enum values to
> > strings and as a consequence they can only forward the enum value to the
> > output. By using TRACE_DEFINE_ENUM() macros for thermal traces we get the
> > following trace line:
> >
> > kworker/1:1-460 [001] 320.372732: thermal_zone_trip: thermal_zone=soc
> > id=0 trip=1 trip_type=PASSIVE
> >
> > Userspace tools are now able to better understand the meaning of the trip_type
> > and provide the user with more readable information.
> >
>
> Acked-by: Steven Rostedt <[email protected]>
>
> -- Steve
>

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

2016-03-03 17:28:29

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros

On Thu, 3 Mar 2016 17:10:46 +0000
Michele DiGiorgio <[email protected]> wrote:

> Hello Steven,
>
> Thanks for acknowledging the patch.
>
> Will you be merging it or should I refer to somebody else?
>

It should go through the Thermal maintainer's tree.


-- Steve

2016-03-08 09:48:50

by Zhang, Rui

[permalink] [raw]
Subject: RE: [PATCH] thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros

Punit and Javi,

What do you think of this? I'd like to get your ACK before taking it.

Thanks,
rui

> -----Original Message-----
> From: [email protected] [mailto:linux-pm-
> [email protected]] On Behalf Of Michele DiGiorgio
> Sent: Friday, March 04, 2016 1:11 AM
> To: Steven Rostedt <[email protected]>
> Cc: [email protected]; Ingo Molnar <[email protected]>; Javi
> Merino <[email protected]>; [email protected]; Punit
> Agrawal <[email protected]>; Eduardo Valentin <[email protected]>
> Subject: Re: [PATCH] thermal: trace: migrating thermal traces to use
> TRACE_DEFINE_ENUM() macros
>
> Hello Steven,
>
> Thanks for acknowledging the patch.
>
> Will you be merging it or should I refer to somebody else?
>
> Kind regards,
> Michele
>
> On 01/03/16 18:20, Steven Rostedt wrote:
> > On Tue, 1 Mar 2016 17:38:54 +0000
> > Michele Di Giorgio <[email protected]> wrote:
> >
> > > Userspace tools are not aware of how to convert the enums provided
> > > by the tracepoints to their corresponding strings.
> > >
> > > Adding TRACE_DEFINE_ENUM() macros allows to make the enums available
> > > to userspace to let the tools know what those enum values represent.
> > >
> > > In particular, for thermal zone trip types what we obtained before
> > > was something like:
> > >
> > > kworker/1:1-460 [001] 320.372732: thermal_zone_trip:
> thermal_zone=soc
> > > id=0 trip=1 trip_type=1
> > >
> > > Unfortunately, userspace tools do not know how to convert enum
> > > values to strings and as a consequence they can only forward the
> > > enum value to the output. By using TRACE_DEFINE_ENUM() macros for
> > > thermal traces we get the following trace line:
> > >
> > > kworker/1:1-460 [001] 320.372732: thermal_zone_trip:
> thermal_zone=soc
> > > id=0 trip=1 trip_type=PASSIVE
> > >
> > > Userspace tools are now able to better understand the meaning of the
> > > trip_type and provide the user with more readable information.
> > >
> >
> > Acked-by: Steven Rostedt <[email protected]>
> >
> > -- Steve
> >
>
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended recipient,
> please notify the sender immediately and do not disclose the contents to any
> other person, use it for any purpose, or store or copy the information in any
> medium. Thank you.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body
> of a message to [email protected] More majordomo info at
> http://vger.kernel.org/majordomo-info.html

2016-03-08 09:59:05

by Javi Merino

[permalink] [raw]
Subject: Re: [PATCH] thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros

On Tue, Mar 08, 2016 at 09:48:42AM +0000, Zhang, Rui wrote:
> Punit and Javi,
>
> What do you think of this? I'd like to get your ACK before taking it.

Sorry, I didn't realize you were waiting for us. I'm quite happy for
this to go in:

Acked-by: Javi Merino <[email protected]>

> > -----Original Message-----
> > From: [email protected] [mailto:linux-pm-
> > [email protected]] On Behalf Of Michele DiGiorgio
> > Sent: Friday, March 04, 2016 1:11 AM
> > To: Steven Rostedt <[email protected]>
> > Cc: [email protected]; Ingo Molnar <[email protected]>; Javi
> > Merino <[email protected]>; [email protected]; Punit
> > Agrawal <[email protected]>; Eduardo Valentin <[email protected]>
> > Subject: Re: [PATCH] thermal: trace: migrating thermal traces to use
> > TRACE_DEFINE_ENUM() macros
> >
> > Hello Steven,
> >
> > Thanks for acknowledging the patch.
> >
> > Will you be merging it or should I refer to somebody else?
> >
> > Kind regards,
> > Michele
> >
> > On 01/03/16 18:20, Steven Rostedt wrote:
> > > On Tue, 1 Mar 2016 17:38:54 +0000
> > > Michele Di Giorgio <[email protected]> wrote:
> > >
> > > > Userspace tools are not aware of how to convert the enums provided
> > > > by the tracepoints to their corresponding strings.
> > > >
> > > > Adding TRACE_DEFINE_ENUM() macros allows to make the enums available
> > > > to userspace to let the tools know what those enum values represent.
> > > >
> > > > In particular, for thermal zone trip types what we obtained before
> > > > was something like:
> > > >
> > > > kworker/1:1-460 [001] 320.372732: thermal_zone_trip:
> > thermal_zone=soc
> > > > id=0 trip=1 trip_type=1
> > > >
> > > > Unfortunately, userspace tools do not know how to convert enum
> > > > values to strings and as a consequence they can only forward the
> > > > enum value to the output. By using TRACE_DEFINE_ENUM() macros for
> > > > thermal traces we get the following trace line:
> > > >
> > > > kworker/1:1-460 [001] 320.372732: thermal_zone_trip:
> > thermal_zone=soc
> > > > id=0 trip=1 trip_type=PASSIVE
> > > >
> > > > Userspace tools are now able to better understand the meaning of the
> > > > trip_type and provide the user with more readable information.
> > > >
> > >
> > > Acked-by: Steven Rostedt <[email protected]>
> > >
> > > -- Steve
> > >
> >
> > IMPORTANT NOTICE: The contents of this email and any attachments are
> > confidential and may also be privileged. If you are not the intended recipient,
> > please notify the sender immediately and do not disclose the contents to any
> > other person, use it for any purpose, or store or copy the information in any
> > medium. Thank you.
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body
> > of a message to [email protected] More majordomo info at
> > http://vger.kernel.org/majordomo-info.html