Messages in this thread | | | Date | Mon, 28 Nov 2011 15:32:12 -0800 | From | "Paul E. McKenney" <> | Subject | [PATCH tip/core/rcu 0/13] Preview of yet more RCU changes for 3.3 |
| |
Hello!
This patchset adds to the pair that were previously posted earlier this month (see https://lkml.org/lkml/2011/11/2/363 and https://lkml.org/lkml/2011/11/15/302). This third set adds more rcutorture capabilities to ease automated testing under KVM (randomized CPU hotplug operations), updates Frederic's user-mode nohz RCU infrastructure, adds tracing for RCU_FAST_NO_HZ, makes a number of improvements to RCU_FAST_NO_HZ suggested by the resulting traces, speeds up TREE_RCU's dyntick-idle identification, and provides documentation updates. The patches are as follows:
1. Add randomized CPU-hotplug capability to rcutorture. 2. Decouple turning off the scheduler tick and informing RCU of CPU idleness (courtesy of Frederic Weisbecker). 3,4,12. Documentation updates, with the addition of load/store atomicity guarantees (#3) being of the most widespread interest. 5. Add event tracing for RCU_FAST_NO_HZ. 6,7,8,9,10,11,13. RCU_FAST_NO_HZ improvements suggested by event-tracing output.
For a testing-only version of this patchset from git, please see the following subject-to-rebase branch:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/dev
Thanx, Paul
------------------------------------------------------------------------
b/Documentation/RCU/torture.txt | 8 + b/Documentation/atomic_ops.txt | 87 +++++++++++++ b/arch/arm/kernel/process.c | 6 b/arch/avr32/kernel/process.c | 6 b/arch/blackfin/kernel/process.c | 6 b/arch/microblaze/kernel/process.c | 6 b/arch/mips/kernel/process.c | 6 b/arch/openrisc/kernel/idle.c | 6 b/arch/powerpc/kernel/idle.c | 15 +- b/arch/powerpc/platforms/iseries/setup.c | 12 + b/arch/s390/kernel/process.c | 6 b/arch/sh/kernel/idle.c | 6 b/arch/sparc/kernel/process_64.c | 6 b/arch/tile/kernel/process.c | 6 b/arch/um/kernel/process.c | 6 b/arch/unicore32/kernel/process.c | 6 b/arch/x86/kernel/process_32.c | 6 b/include/linux/rcupdate.h | 15 ++ b/include/linux/srcu.h | 5 b/include/linux/tick.h | 47 ------- b/include/trace/events/rcu.h | 12 + b/kernel/rcutorture.c | 117 ++++++++++++++++- b/kernel/rcutree.c | 2 b/kernel/rcutree.h | 3 b/kernel/rcutree_plugin.h | 18 ++ b/kernel/time/tick-sched.c | 15 +- include/trace/events/rcu.h | 41 +++++- kernel/rcutree.c | 10 + kernel/rcutree.h | 2 kernel/rcutree_plugin.h | 205 ++++++++++++++++--------------- 30 files changed, 488 insertions(+), 204 deletions(-)
| |