Skip to content

Miscellaneous fixes for 3.20

Paul E. McKenney lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10rcu: Make rcu_nmi_enter() handle nestingkernel/rcu/tree.c+49 -170 replies
2/10rcu: Remove redundant rcu_is_cpu_rrupt_from_idle() from tiny RCUkernel/rcu/tiny.c+1 -110 replies
3/10rcu: Fix invoke_rcu_callbacks() commentkernel/rcu/tree.c+1 -10 replies
4/10compiler: Allow 1- and 2-byte smp_load_acquire() and smp_store_release()include/linux/compiler.h+1 -10 replies
5/10rcupdate: Replace smp_read_barrier_depends() with lockless_dereference()include/linux/rcupdate.h+5 -50 replies
6/10tiny_rcu: Directly force QS when call_rcu_[bh|sched]() on idle_taskkernel/rcu/rcu.h kernel/rcu/tiny.c kernel/rcu/tiny_plugin.h +1 more+14 -990 replies
7/10rculist: Fix sparse warninginclude/linux/rculist.h+8 -80 replies
8/10hotplugcpu: Avoid deadlocks by waking active_writerkernel/cpu.c+23 -330 replies
9/10rcu: Fix rcu_barrier() race that could result in too-short waitkernel/rcu/tree.c kernel/rcu/tree.h kernel/rcu/tree_plugin.h+36 -390 replies
10/10rcu: Remove "select IRQ_WORK" from config TREE_RCUinit/Kconfig kernel/rcu/tree.h+0 -30 replies

Reviews trailers per patch

1 of 10 patches has a Reviewed-by or Acked-by.

PatchLai Jiangshan
1/10R-b
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

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/10] Miscellaneous fixes for 3.20

Hello!

This series contains miscellaneous fixes for 3.20:

1. Make rcu_nmi_enter() handle nesting, as there are now some
architectures that use RCU read-side critical sections in NMI-like constructs that can nest in one another. Algorithm courtesy of Andy Lutomirski.

2. Remove redundant rcu_is_cpu_rrupt_from_idle() from tiny RCU,
courtesy of Alexander Gordeev.

3. Fix invoke_rcu_callbacks() comment to correctly reflect
required calling environment.

4. Allow 1- and 2-byte smp_load_acquire() and smp_store_release(),
given that the C11 standard requires that compilers support this.

5. Replace smp_read_barrier_depends() with lockless_dereference(),
courtesy of Pranith Kumar.

6. Directly force QS when call_rcu_[bh|sched]() on idle_task for
tiny RCU, courtesy of Lai Jiangshan. Saves more than 1KB.

7. Fix sparse warning from hlist_for_each_entry_continue_rcu_bh(),
courtesy of Ying Xue.

8. Fix hang in CPU hotplug code, courtesy of David Hildenbrand.

9. Fix rcu_barrier() race that could result in too-short wait.

10. Remove obsolete "select IRQ_WORK" from config TREE_RCU, courtesy
of Lai Jiangshan.

Thanx, Paul

------------------------------------------------------------------------

 b/include/linux/compiler.h |    2 
 b/include/linux/rculist.h  |   16 +++---
 b/include/linux/rcupdate.h |   10 ++--
 b/init/Kconfig             |    2 
 b/kernel/cpu.c             |   56 +++++++++-------------
 b/kernel/rcu/rcu.h         |    6 ++
 b/kernel/rcu/tiny.c        |  111 +++------------------------------------------
 b/kernel/rcu/tiny_plugin.h |    2 
 b/kernel/rcu/tree.c        |   75 ++++++++++++++++++++----------
 b/kernel/rcu/tree.h        |   30 ++----------
 b/kernel/rcu/tree_plugin.h |   45 +++++++++++-------
 11 files changed, 138 insertions(+), 217 deletions(-)