From: Paul E. McKenney Date: Tue, 15 Oct 2013 19:47:04 +0000 (-0700) Subject: Merge branch 'gp.2013.09.25a' into HEAD X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=25e03a74e4a14e0d52a66fb56c728f049a6a26d3;p=linux-beck.git Merge branch 'gp.2013.09.25a' into HEAD gp.2013.09.25a: Topic branch for grace-period updates. --- 25e03a74e4a14e0d52a66fb56c728f049a6a26d3 diff --cc kernel/rcutree.c index 62aab5ceefe9,54dd6d03dbb5..a06d172c75e0 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c @@@ -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); } diff --cc kernel/rcutree_plugin.h index 1855d66bf705,21205b185340..cd95efa1da48 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h @@@ -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 ... */