Re: [PATCH 3/3][RFC] cpuidle/tracing: Denote the tracepoints asbeing in rcu_idle_exit() section

From: Paul E. McKenney
Date: Tue Feb 07 2012 - 15:08:07 EST


On Tue, Feb 07, 2012 at 09:56:56AM -0500, Steven Rostedt wrote:
> From: Steven Rostedt <srostedt@xxxxxxxxxx>
>
> As the tracepoints in the cpuidle code are called when rcu_idle_exit() is in
> effect, the _rcuidle() version must be used, otherwise the rcu_read_lock()s
> that protect the tracepoint will not be honored.
>
> Cc: Len Brown <len.brown@xxxxxxxxx>
> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>

Looks good to me!

Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>

> ---
> drivers/cpuidle/cpuidle.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
> index 59f4261..6588f43 100644
> --- a/drivers/cpuidle/cpuidle.c
> +++ b/drivers/cpuidle/cpuidle.c
> @@ -94,13 +94,13 @@ int cpuidle_idle_call(void)
>
> target_state = &drv->states[next_state];
>
> - trace_power_start(POWER_CSTATE, next_state, dev->cpu);
> - trace_cpu_idle(next_state, dev->cpu);
> + trace_power_start_rcuidle(POWER_CSTATE, next_state, dev->cpu);
> + trace_cpu_idle_rcuidle(next_state, dev->cpu);
>
> entered_state = target_state->enter(dev, drv, next_state);
>
> - trace_power_end(dev->cpu);
> - trace_cpu_idle(PWR_EVENT_EXIT, dev->cpu);
> + trace_power_end_rcuidle(dev->cpu);
> + trace_cpu_idle_rcuidle(PWR_EVENT_EXIT, dev->cpu);
>
> if (entered_state >= 0) {
> /* Update cpuidle counters */
> --
> 1.7.8.3
>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/