|
@@ -355,7 +355,7 @@ static void rcu_idle_enter_common(struct rcu_dynticks *rdtp, long long oldval)
|
|
|
return;
|
|
|
}
|
|
|
trace_rcu_dyntick("Start", oldval, rdtp->dynticks_nesting);
|
|
|
- if (!idle_cpu(smp_processor_id())) {
|
|
|
+ if (current->pid != 0) {
|
|
|
struct task_struct *idle = idle_task(smp_processor_id());
|
|
|
|
|
|
trace_rcu_dyntick("Error on entry: not idle task",
|
|
@@ -449,7 +449,7 @@ static void rcu_idle_exit_common(struct rcu_dynticks *rdtp, long long oldval)
|
|
|
smp_mb__after_atomic_inc(); /* See above. */
|
|
|
WARN_ON_ONCE(!(atomic_read(&rdtp->dynticks) & 0x1));
|
|
|
trace_rcu_dyntick("End", oldval, rdtp->dynticks_nesting);
|
|
|
- if (!idle_cpu(smp_processor_id())) {
|
|
|
+ if (current->pid != 0) {
|
|
|
struct task_struct *idle = idle_task(smp_processor_id());
|
|
|
|
|
|
trace_rcu_dyntick("Error on exit: not idle task",
|