Merge branch 'gp.2013.09.25a' into HEAD
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 15 Oct 2013 19:47:04 +0000 (12:47 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 15 Oct 2013 19:47:04 +0000 (12:47 -0700)
gp.2013.09.25a: Topic branch for grace-period updates.

1  2 
kernel/rcutiny.c
kernel/rcutree.c
kernel/rcutree_plugin.h

Simple merge
@@@ -1481,8 -1459,12 +1489,12 @@@ static void rcu_gp_cleanup(struct rcu_s
        rsp->fqs_state = RCU_GP_IDLE;
        rdp = this_cpu_ptr(rsp->rda);
        rcu_advance_cbs(rsp, rnp, rdp);  /* Reduce false positives below. */
-       if (cpu_needs_another_gp(rsp, rdp))
+       if (cpu_needs_another_gp(rsp, rdp)) {
 -              rsp->gp_flags = 1;
 +              rsp->gp_flags = RCU_GP_FLAG_INIT;
+               trace_rcu_grace_period(rsp->name,
+                                      ACCESS_ONCE(rsp->gpnum),
+                                      TPS("newreq"));
+       }
        raw_spin_unlock_irq(&rnp->lock);
  }
  
@@@ -2113,8 -2108,11 +2113,11 @@@ static void __call_rcu_nocb_enqueue(str
  
        /* If we are not being polled and there is a kthread, awaken it ... */
        t = ACCESS_ONCE(rdp->nocb_kthread);
-       if (rcu_nocb_poll || !t)
 -      if (rcu_nocb_poll | !t) {
++      if (rcu_nocb_poll || !t) {
+               trace_rcu_nocb_wake(rdp->rsp->name, rdp->cpu,
+                                   TPS("WakeNotPoll"));
                return;
+       }
        len = atomic_long_read(&rdp->nocb_q_count);
        if (old_rhpp == &rdp->nocb_head) {
                wake_up(&rdp->nocb_wq); /* ... only if queue was empty ... */