summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2011-11-23 15:02:05 -0800
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2011-12-11 10:32:05 -0800
commitf0e7c19db8798b4b991a2c71911e71f5dfdb348f (patch)
treefce748b22aeb29f8e28a28028211e777bc4123dd /kernel
parentc92b131bdcf89bf79870f1631d07547241a98f6c (diff)
downloadlinux-f0e7c19db8798b4b991a2c71911e71f5dfdb348f.tar.bz2
rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass
Fixes and workarounds for a number of issues (for example, that in df4012edc) make it safe to once again detect dyntick-idle CPUs on the first pass of force_quiescent_state(), so this commit makes that change. Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/rcutree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index aab9ed504b17..69bb37287cc8 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -607,7 +607,7 @@ int rcu_is_cpu_rrupt_from_idle(void)
static int dyntick_save_progress_counter(struct rcu_data *rdp)
{
rdp->dynticks_snap = atomic_add_return(0, &rdp->dynticks->dynticks);
- return 0;
+ return (rdp->dynticks_snap & 0x1) == 0;
}
/*