rcu: Irq nesting is always 0 on rcu_enter_idle_common
authorFrederic Weisbecker <fweisbec@gmail.com>
Tue, 29 Nov 2011 00:26:56 +0000 (16:26 -0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sun, 11 Dec 2011 18:32:08 +0000 (10:32 -0800)
Because tasks don't nest, the ->dyntick_nesting must always be zero upon
entry to rcu_idle_enter_common().  Therefore, pass "0" rather than the
counter itself.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutree.c

index 860c02c7c9591961ccd12e85c423899033dac48b..c0ed3765ec39095421493c1668376c8c84ab4ac0 100644 (file)
@@ -350,12 +350,11 @@ static int rcu_implicit_offline_qs(struct rcu_data *rdp)
  */
 static void rcu_idle_enter_common(struct rcu_dynticks *rdtp, long long oldval)
 {
-       trace_rcu_dyntick("Start", oldval, rdtp->dynticks_nesting);
+       trace_rcu_dyntick("Start", oldval, 0);
        if (!is_idle_task(current)) {
                struct task_struct *idle = idle_task(smp_processor_id());
 
-               trace_rcu_dyntick("Error on entry: not idle task",
-                                  oldval, rdtp->dynticks_nesting);
+               trace_rcu_dyntick("Error on entry: not idle task", oldval, 0);
                ftrace_dump(DUMP_ALL);
                WARN_ONCE(1, "Current pid: %d comm: %s / Idle pid: %d comm: %s",
                          current->pid, current->comm,