Re: [GIT PULL rcu/next] RCU commits for 3.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

* Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:

> Hello, Ingo,
> The major features of this series are:
> 1.	Preventing latency spikes of more than 200 microseconds for
> 	kernels built with NR_CPUS=4096, which is reportedly becoming
> 	the default for some distros.  This is a first step, as it does
> 	not help with systems that actually -have- 4096 CPUs (work on
> 	this case is in progress, but is not yet ready for mainline).
> 	This category also includes improving concurrency of rcu_barrier(),
> 	placed here due to conflicts.  Posted to LKML at:
>  Note that patches 18-22
> 	of that series have been defered to 3.7, as they have not yet
> 	proven themselves to be mainline-ready (and yes, these are the
> 	ones intended to get rid of RCU's latency spikes for systems
> 	that actually have 4096 CPUs).
> 2.	Updates to documentation and rcutorture fixes, the latter category
> 	including improvements to rcu_barrier() testing.  Posted to LKML at:
> 3.	Miscellaneous fixes posted to LKML at:
>, with the exception of the
> 	last commit, which was posted here:
> 4.	RCU_FAST_NO_HZ fixes and improvements.  Posted to LKML at:
> 	and
> 	The first four patches of the first series went into 3.5 to fix
> 	a regression.
> 5.	Code-style fixes.  These were posted to LKML at
> and
> All of this code has been exposed to -next testing.
> These changes are available in the git repository at:
>   git:// rcu/next
> 								Thanx, Paul
> -------------------->
> Carsten Emde (1):
>       rcu: Prevent uninitialized string in RCU CPU stall info
> Paul E. McKenney (48):
>       rcu: Control RCU_FANOUT_LEAF from boot-time parameter
>       rcu: Four-level hierarchy is no longer experimental
>       rcu: Size rcu_node tree from nr_cpu_ids rather than NR_CPUS
>       rcu: Prevent excessive line length in RCU_STATE_INITIALIZER()
>       rcu: Place pointer to call_rcu() in rcu_data structure
>       rcu: Move _rcu_barrier()'s rcu_head structures to rcu_data structures
>       rcu: Move rcu_barrier_cpu_count to rcu_state structure
>       rcu: Move rcu_barrier_completion to rcu_state structure
>       rcu: Move rcu_barrier_mutex to rcu_state structure
>       rcu: Remove needless initialization
>       rcu: Increase rcu_barrier() concurrency
>       rcu: Add tracing for _rcu_barrier()
>       rcu: Add rcu_barrier() statistics to debugfs tracing
>       rcu: Remove unneeded __rcu_process_callbacks() argument
>       rcu: Introduce for_each_rcu_flavor() and use it
>       rcu: Use for_each_rcu_flavor() in TREE_RCU tracing
>       rcu: RCU_SAVE_DYNTICK code no longer ever dead
>       rcu: Update documentation to cover call_srcu() and srcu_barrier().
>       rcu: Rationalize ordering of torture_ops list
>       rcu: Test srcu_barrier() from rcutorture test suite
>       rcu: Fix bug in rcu_barrier() torture test
>       rcu: Fix diagnostic-printk typo in rcutorture
>       rcu: Make rcutorture fakewriters invoke rcu_barrier()
>       rcu: Fix detection of abruptly-ending stall
>       rcu: Consolidate duplicate callback-list initialization
>       rcu: Add ACCESS_ONCE() to ->qlen accesses
>       rcu: Add a gcc-style structure initializer for RCU pointers
>       rcu: Use new RCU_POINTER_INITIALIZER for gcc-style initializations
>       rcu: Remove return value from RCU_INIT_POINTER()
>       key: Remove extraneous parentheses from rcu_assign_keypointer()
>       rcu: Remove return value from rcu_assign_pointer()
>       rcu: Consolidate tree/tiny __rcu_read_{,un}lock() implementations
>       rcu: Remove function versions of __kfree_rcu and __is_kfree_rcu_offset
>       rcu: Make __call_rcu() handle invocation from idle
>       rcu: Prevent __call_rcu() from invoking RCU core on offline CPUs
>       rcu: Split RCU core processing out of __call_rcu()
>       rcu: Fix rcu_is_cpu_idle() #ifdef in TINY_RCU
>       rcu: Disable preemption in rcu_blocking_is_gp()
>       rcu: Add check for CPUs going offline with callbacks queued
>       rcu: Dump only the current CPU's buffers for idle-entry/exit warnings
>       rcu: The rcu_needs_cpu() function is not a quiescent state
>       rcu: Round FAST_NO_HZ lazy timeout to nearest second
>       rcu: Fix qlen_lazy breakage
>       rcu: Make RCU_FAST_NO_HZ respect nohz= boot parameter
>       rcu: Introduce check for callback list/count mismatch
>       Merge branches 'bigrtm.2012.07.04a', 'doctorture.2012.07.02a', 'fixes.2012.07.06a' and 'fnh.2012.07.02a' into HEAD
>       rcu: Fix code-style issues involving "else"
>       rcu: Fix broken strings in RCU's source code.
>  Documentation/RCU/checklist.txt     |   39 ++--
>  Documentation/RCU/rcubarrier.txt    |   15 +-
>  Documentation/RCU/torture.txt       |    9 +
>  Documentation/RCU/whatisRCU.txt     |    6 +-
>  Documentation/kernel-parameters.txt |    5 +
>  include/linux/init_task.h           |    4 +-
>  include/linux/key.h                 |    4 +-
>  include/linux/rcupdate.h            |   53 ++---
>  include/trace/events/rcu.h          |   45 ++++
>  kernel/rcupdate.c                   |   44 ++++
>  kernel/rcutiny.c                    |    4 +-
>  kernel/rcutiny_plugin.h             |   56 +----
>  kernel/rcutorture.c                 |   72 ++++--
>  kernel/rcutree.c                    |  478 ++++++++++++++++++++++------------
>  kernel/rcutree.h                    |   46 ++--
>  kernel/rcutree_plugin.h             |  223 ++++-------------
>  kernel/rcutree_trace.c              |  148 ++++++-----
>  kernel/time/tick-sched.c            |    2 +-
>  lib/list_debug.c                    |    6 +-
>  19 files changed, 669 insertions(+), 590 deletions(-)

Pulled, thanks a lot Paul!

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at

[Other Archives]     [Linux Kernel Newbies]     [Linux Driver Development]     [Linux Kbuild]     [Fedora Kernel]     [Linux Kernel Testers]     [Linux SH]     [Linux Omap]     [Linux Tape]     [Linux Input]     [Linux Kernel Janitors]     [Linux Kernel Packagers]     [Linux Doc]     [Linux Man Pages]     [Linux API]     [Linux Memory Management]     [Linux Modules]     [Linux Standards]     [Kernel Announce]     [Netdev]     [Git]     [Linux PCI]     Linux CAN Development     [Linux I2C]     [Linux RDMA]     [Linux NUMA]     [Netfilter]     [Netfilter Devel]     [SELinux]     [Bugtraq]     [FIO]     [Linux Perf Users]     [Linux Serial]     [Linux PPP]     [Linux ISDN]     [Linux Next]     [Kernel Stable Commits]     [Linux Tip Commits]     [Kernel MM Commits]     [Linux Security Module]     [AutoFS]     [Filesystem Development]     [Ext3 Filesystem]     [Linux bcache]     [Ext4 Filesystem]     [Linux BTRFS]     [Linux CEPH Filesystem]     [Linux XFS]     [XFS]     [Linux NFS]     [Linux CIFS]     [Ecryptfs]     [Linux NILFS]     [Linux Cachefs]     [Reiser FS]     [Initramfs]     [Linux FB Devel]     [Linux OpenGL]     [DRI Devel]     [Fastboot]     [Linux RT Users]     [Linux RT Stable]     [eCos]     [Corosync]     [Linux Clusters]     [LVS Devel]     [Hot Plug]     [Linux Virtualization]     [KVM]     [KVM PPC]     [KVM ia64]     [Linux Containers]     [Linux Hexagon]     [Linux Cgroups]     [Util Linux]     [Wireless]     [Linux Bluetooth]     [Bluez Devel]     [Ethernet Bridging]     [Embedded Linux]     [Barebox]     [Linux MMC]     [Linux IIO]     [Sparse]     [Smatch]     [Linux Arch]     [x86 Platform Driver]     [Linux ACPI]     [Linux IBM ACPI]     [LM Sensors]     [CPU Freq]     [Linux Power Management]     [Linmodems]     [Linux DCCP]     [Linux SCTP]     [ALSA Devel]     [Linux USB]     [Linux PA RISC]     [Linux Samsung SOC]     [MIPS Linux]     [IBM S/390 Linux]     [ARM Linux]     [ARM Kernel]     [ARM MSM]     [Tegra Devel]     [Sparc Linux]     [Linux Security]     [Linux Sound]     [Linux Media]     [Video 4 Linux]     [Linux IRDA Users]     [Linux for the blind]     [Linux RAID]     [Linux ATA RAID]     [Device Mapper]     [Linux SCSI]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Linux IDE]     [Linux SMP]     [Linux AXP]     [Linux Alpha]     [Linux M68K]     [Linux ia64]     [Linux 8086]     [Linux x86_64]     [Linux Config]     [Linux Apps]     [Linux MSDOS]     [Linux X.25]     [Linux Crypto]     [DM Crypt]     [Linux Trace Users]     [Linux Btrace]     [Linux Watchdog]     [Utrace Devel]     [Linux C Programming]     [Linux Assembly]     [Dash]     [DWARVES]     [Hail Devel]     [Linux Kernel Debugger]     [Linux gcc]     [Gcc Help]     [X.Org]     [Wine]

Add to Google Powered by Linux

[Older Kernel Discussion]     [Yosemite National Park Forum]     [Large Format Photos]     [Gimp]     [Yosemite Photos]     [Stuff]