diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-05-30 10:18:30 +0000 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-05-30 10:18:30 +0000 |
commit | 1b3ead1336bc92ee90a23a38f3432227b20b5b22 (patch) | |
tree | 0df010006a6864e6222f6af960117210946e7888 /patches | |
parent | c83e3c7ddb9ba20a381898ef9f8cdeb3c258b551 (diff) | |
download | xen-1b3ead1336bc92ee90a23a38f3432227b20b5b22.tar.gz xen-1b3ead1336bc92ee90a23a38f3432227b20b5b22.tar.bz2 xen-1b3ead1336bc92ee90a23a38f3432227b20b5b22.zip |
bitkeeper revision 1.1159.258.154 (429ae8764I9WsS60DkRARFDRTCFT1Q)
Fix Xen idle loop to enter/exit tickless mode in same way as s390,
which interfaces properly with the RCU subsystem.
This includes a patch that fixes a race in the generic RCU code: it
was created by IBM for s390, and is being pushed upstream by them.
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'patches')
-rw-r--r-- | patches/linux-2.6.11/rcu-nohz.patch | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/patches/linux-2.6.11/rcu-nohz.patch b/patches/linux-2.6.11/rcu-nohz.patch new file mode 100644 index 0000000000..d7bafb3a62 --- /dev/null +++ b/patches/linux-2.6.11/rcu-nohz.patch @@ -0,0 +1,16 @@ +diff -ur linux-2.6.11/kernel/rcupdate.c linux-2.6.11-rcu/kernel/rcupdate.c +--- linux-2.6.11/kernel/rcupdate.c 2005-05-30 10:51:41 +01:00 ++++ linux-2.6.11-rcu/kernel/rcupdate.c 2005-05-30 10:53:53 +01:00 +@@ -202,8 +202,11 @@ + */ + static void cpu_quiet(int cpu, struct rcu_ctrlblk *rcp, struct rcu_state *rsp) + { ++ cpumask_t mask; ++ + cpu_clear(cpu, rsp->cpumask); +- if (cpus_empty(rsp->cpumask)) { ++ cpus_andnot(mask, rsp->cpumask, nohz_cpu_mask); ++ if (cpus_empty(mask)) { + /* batch completed ! */ + rcp->completed = rcp->cur; + rcu_start_batch(rcp, rsp, 0); |