Re: [PATCH 4/7] tracing: timer: Add deferrable flag to timer_start

Ingo Molnar
2015-05-21T06:18:44Z

* John Stultz <john.stultz@linaro.org> wrote:

> From: Badhri Jagan Sridharan <badhri@google.com>
>
> The timer_start event now shows whether the timer is
> deferrable in case of a low-res timer. The debug_activate
> function now includes deferrable flag while calling
> trace_timer_start event.

s/now includes deferrable flag/
now includes a deferrable flag

s/calling trace_timer_start event/
calling the trace_timer_start event

> TRACE_EVENT(timer_start,
>
> - TP_PROTO(struct timer_list *timer, unsigned long expires),
> + TP_PROTO(struct timer_list *timer,
> + unsigned long expires,

This isn't compat safe, should any tooling rely on this.

I see it's a mistake in prior code:

> + unsigned int deferrable),
>
> - TP_ARGS(timer, expires),
> + TP_ARGS(timer, expires, deferrable),
>
> TP_STRUCT__entry(
> __field( void *, timer )
> __field( void *, function )
> __field( unsigned long, expires )
> __field( unsigned long, now )

which should probably be fixed as well.

> @@ -650,7 +650,8 @@ static inline void
> debug_activate(struct timer_list *timer, unsigned long expires)
> {
> debug_timer_activate(timer);
> - trace_timer_start(timer, expires);
> + trace_timer_start(timer, expires,
> + tbase_get_deferrable(timer->base));

why is this line broken? If you put it into a single line it's still
below 80 cols, so there's really no reason for it.

Thanks,

Ingo