cpuidle/tracing: Denote the tracepoints as being in rcu_idle_exit() section
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@intel.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
484546509c
commit
76027ea863
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue