summaryrefslogtreecommitdiffstats
path: root/kernel/rcupreempt.c
diff options
context:
space:
mode:
authorDavid S. Miller2009-03-05 11:06:47 +0100
committerDavid S. Miller2009-03-05 11:06:47 +0100
commit508827ff0ac3981d420edac64a70de7f4e304d38 (patch)
treeb0cee8ddef9f0ceab68c388e4ae46b7295eb2cb5 /kernel/rcupreempt.c
parentsfc: Improve NIC internal error recovery (diff)
parentbonding: Fix device passed into ->ndo_neigh_setup(). (diff)
downloadkernel-qcow2-linux-508827ff0ac3981d420edac64a70de7f4e304d38.tar.gz
kernel-qcow2-linux-508827ff0ac3981d420edac64a70de7f4e304d38.tar.xz
kernel-qcow2-linux-508827ff0ac3981d420edac64a70de7f4e304d38.zip
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/tokenring/tmspci.c drivers/net/ucc_geth_mii.c
Diffstat (limited to 'kernel/rcupreempt.c')
-rw-r--r--kernel/rcupreempt.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/rcupreempt.c b/kernel/rcupreempt.c
index 33cfc50781f9..5d59e850fb71 100644
--- a/kernel/rcupreempt.c
+++ b/kernel/rcupreempt.c
@@ -1181,6 +1181,9 @@ void __synchronize_sched(void)
{
struct rcu_synchronize rcu;
+ if (num_online_cpus() == 1)
+ return; /* blocking is gp if only one CPU! */
+
init_completion(&rcu.completion);
/* Will wake me after RCU finished. */
call_rcu_sched(&rcu.head, wakeme_after_rcu);