|
@@ -2306,6 +2306,7 @@ wait_again:
|
|
atomic_long_add(rdp->nocb_gp_count, &rdp->nocb_follower_count);
|
|
atomic_long_add(rdp->nocb_gp_count, &rdp->nocb_follower_count);
|
|
atomic_long_add(rdp->nocb_gp_count_lazy,
|
|
atomic_long_add(rdp->nocb_gp_count_lazy,
|
|
&rdp->nocb_follower_count_lazy);
|
|
&rdp->nocb_follower_count_lazy);
|
|
|
|
+ smp_mb__after_atomic(); /* Store *tail before wakeup. */
|
|
if (rdp != my_rdp && tail == &rdp->nocb_follower_head) {
|
|
if (rdp != my_rdp && tail == &rdp->nocb_follower_head) {
|
|
/*
|
|
/*
|
|
* List was empty, wake up the follower.
|
|
* List was empty, wake up the follower.
|