Skip to content

Fixups for 3.6

Paul E. McKenney lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest14 patches 19 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/14rcu: Fix detection of abruptly-ending stallkernel/rcutree.c+2 -21 reply
2/14rcu: Consolidate duplicate callback-list initializationkernel/rcutree.c+14 -91 reply
3/14rcu: Add ACCESS_ONCE() to ->qlen accesseskernel/rcutree.c+4 -42 replies
4/14rcu: Add a gcc-style structure initializer for RCU pointersinclude/linux/rcupdate.h+8 -04 replies
5/14rcu: Use new INIT_RCU_POINTER for gcc-style initializationsinclude/linux/init_task.h+2 -20 replies
6/14rcu: Remove return value from RCU_INIT_POINTER()include/linux/rcupdate.h+3 -11 reply
7/14key: Remove extraneous parentheses from rcu_assign_keypointer()include/linux/key.h+1 -11 reply
8/14rcu: Remove return value from rcu_assign_pointer()include/linux/rcupdate.h+3 -31 reply
9/14rcu: Consolidate tree/tiny __rcu_read_{,un}lock() implementationsinclude/linux/rcupdate.h kernel/rcupdate.c kernel/rcutiny_plugin.h +1 more+47 -921 reply
10/14rcu: Remove function versions of __kfree_rcu and __is_kfree_rcu_offsetinclude/linux/rcupdate.h+0 -181 reply
11/14rcu: Make __call_rcu() handle invocation from idleinclude/linux/rcupdate.h kernel/rcutree.c+11 -151 reply
12/14rcu: Prevent __call_rcu() from invoking RCU core on offline CPUskernel/rcutree.c+3 -31 reply
13/14rcu: Split RCU core processing out of __call_rcu()kernel/rcutree.c+49 -61 reply
14/14rcu: Fix rcu_is_cpu_idle() #ifdef in TINY_RCUkernel/rcutiny.c+2 -23 replies

Reviews trailers per patch

11 of 14 patches have a Reviewed-by or Acked-by.

PatchJosh Triplett
1/14R-b
2/14R-b
3/14R-b
4/14
5/14
6/14R-b
7/14R-b
8/14R-b
9/14R-b
10/14R-b
11/14R-b
12/14R-b
13/14R-b
14/14

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/14] Fixups for 3.6

Hello!

This patch series has general fixups and improvements:

1. Get rid of the false positives from the code that recognizes
a CPU stall that ends just as it is detected.
2. Consolidate open-coded initializations of RCU callback lists.
3. Protect unsynchronized accesses to ->qlen with ACCESS_ONCE()
to document the unsynchronized access and to prevent compiler mischief.
4. Add INIT_RCU_POINTER() for static initialization to allow
do-while formulation of the existing RCU_INIT_POINTER().
5. Convert clever use of RCU_INIT_POINTER() for gcc-style
initialization to INIT_RCU_POINTER().
6. Wrap RCU_INIT_POINTER() macro in obligatory do-while.
7. Remove extraneous parentheses from rcu_assign_keypointer()
to allow rcu_assign_pointer() to be wrapped in do-while.
8. Wrap rcu_assign_pointer() macro in obligatory do-while.
9. Consolidate the identical CONFIG_TREE_PREEMPT_RCU and

	CONFIG_TINY_PREEMPT_RCU versions of __rcu_read_lock() and
	__rcu_read_unlock().
10.	Remove the old inline-function version of __kfree_rcu() and
	__is_kfree_rcu_offset().

11. Make __call_rcu() correctly handle calls from the idle loop.
12. Make __call_rcu() correctly handle calls from a CPU that is
in the process of going offline.
13. Split __call_rcu() into the part that actually deals with
enqueueing the callback and the part that kicks RCU's grace-period machinery.
14. Make RCU_TINY's rcu_is_cpu_idle() function safe for "make
randconfig".

Thanx, Paul

 b/include/linux/init_task.h |    4 -
 b/include/linux/key.h       |    2 
 b/include/linux/rcupdate.h  |    8 +++
 b/kernel/rcupdate.c         |   44 ++++++++++++++++++
 b/kernel/rcutiny.c          |    4 -
 b/kernel/rcutiny_plugin.h   |   47 -------------------
 b/kernel/rcutree.c          |    4 -
 b/kernel/rcutree_plugin.h   |   47 -------------------
 include/linux/rcupdate.h    |   40 +++-------------
 kernel/rcutree.c            |  107 ++++++++++++++++++++++++++++++++------------
 10 files changed, 149 insertions(+), 158 deletions(-)