Skip to content

Miscellaneous fixes for 3.18

Paul E. McKenney lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest15 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/15rcu: Remove remaining read-modify-write ACCESS_ONCE() callskernel/rcu/tree.c kernel/rcu/tree_plugin.h+9 -50 replies
2/15rcu: Fix sparse warning about rcu_batches_completed_preempt() being non-statickernel/rcu/tree_plugin.h+1 -10 replies
3/15rcu: Use bool type for return value in rcu_is_watching()kernel/rcu/tree.c+1 -10 replies
4/15rcu: Return bool type for rcu_try_advance_all_cbs()kernel/rcu/tree_plugin.h+1 -10 replies
5/15rcu: Return bool type in rcu_lockdep_current_cpu_online()include/linux/rcupdate.h+1 -10 replies
6/15rcu: Use true/false instead of 1/0 for a bool typekernel/rcu/tree.c+3 -30 replies
7/15rcu: Uninline rcu_read_lock_held()include/linux/rcupdate.h kernel/rcu/update.c+33 -350 replies
8/15rcu: Define tracepoint strings only if CONFIG_TRACING is setkernel/rcu/tree.c+12 -30 replies
9/15rcu: Update tiny.c references to tree.ckernel/rcu/tiny.c+2 -20 replies
10/15rcu: Remove stale comment in tree.ckernel/rcu/tree.c+0 -20 replies
11/15rcu: Break more call_rcu() deadlock involving scheduler and perfinclude/trace/events/rcu.h kernel/rcu/tree.h kernel/rcu/tree_plugin.h+28 -102 replies
12/15rcu: Make TINY_RCU tinier by putting error checks under #ifdefkernel/rcu/tiny.c+2 -20 replies
13/15rcu: Use rcu_gp_kthread_wake() to wake up grace period kthreadskernel/rcu/tree.c+2 -20 replies
14/15rcu: Replace flush_signals() with WARN_ON(signal_pending())kernel/rcu/tree.c kernel/rcu/tree_plugin.h+5 -50 replies
15/15rcu: Add ACCESS_ONCE() for RCU_INIT_POINTER()include/linux/rcupdate.h+1 -10 replies

Reviews trailers per patch

3 of 15 patches have a Reviewed-by or Acked-by.

PatchJosh TriplettLai JiangshanSteven Rostedt
1/15
2/15
3/15
4/15
5/15
6/15
7/15
8/15R-b
9/15
10/15R-b R-b
11/15
12/15R-b
13/15
14/15
15/15

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/15] Miscellaneous fixes for 3.18

Hello!

This series contains miscellaneous fixes for RCU:

1. Remove more read-modify-write ACCESS_ONCE() calls, courtesy of
Pranith Kumar.

2. Fix sparse warning for rcu_batches_completed_preempt(), courtesy
of Pranith Kumar.

3. Use bool type for variable holding rcu_is_watching() return
value, courtesy of Pranith Kumar.

4. Use bool constant for bool return in rcu_try_advance_all_cbs(),
courtesy of Pranith Kumar.

5. Use bool constant for bool return in rcu_lockdep_current_cpu_online(),
courtesy of Pranith Kumar.

6. Use bool constant for assignments to bool variable isidle,
courtesy of Pranith Kumar.

7. Shrink the kernel a bit by uninlining rcu_read_lock_held(),
courtesy of Oleg Nesterov.

8. Shrink the kernel a bit more by defining tracepoint strings only
if CONFIG_TRACING is set, courtesy of Ard Biesheuvel.

9. Fix outdated pathnames in comments, courtesy of Pranith Kumar.

10. Remove stale comment, courtesy of Pranith Kumar.

11. Break additional call_rcu() deadlock involving scheduler and perf.

12. Shrink the TINY_RCU side of the kernel by putting error checks
under #ifdef.

13. Eliminate unnecessary self-wakeups, courtesy of Pranith Kumar.

14. Replace flush_signals() with WARN_ON(signal_pending()).

15. Add ACCESS_ONCE() for RCU_INIT_POINTER().

Thanx, Paul

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

 b/include/linux/rcupdate.h   |   40 ++-------------------------------------
 b/include/trace/events/rcu.h |    3 ++
 b/kernel/rcu/tiny.c          |    8 +++----
 b/kernel/rcu/tree.c          |   39 +++++++++++++++++++++++---------------
 b/kernel/rcu/tree.h          |    9 ++++++--
 b/kernel/rcu/tree_plugin.h   |   44 +++++++++++++++++++++++++++----------------
 b/kernel/rcu/update.c        |   32 +++++++++++++++++++++++++++++++
 7 files changed, 101 insertions(+), 74 deletions(-)