Skip to content

Miscellaneous fixes for 4.4

Paul E. McKenney lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest13 patches 42 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/13sched: Export sched_setscheduler_nocheckkernel/sched/core.c+1 -00 replies
2/13rcu: Use rcu_callback_t in call_rcu*() and friendsinclude/linux/rcupdate.h include/linux/rcutiny.h include/linux/rcutree.h +7 more+21 -210 replies
3/13rcu: Use call_rcu_func_t to replace explicit type equivalentskernel/rcu/rcutorture.c kernel/rcu/tree.h+2 -30 replies
4/13rcu: Don't disable preemption for Tiny and Tree RCU readersinclude/linux/rcupdate.h include/linux/rcutiny.h kernel/rcu/tree.c+14 -211 replies
5/13rcu: Eliminate panic when silly boot-time fanout specifiedDocumentation/kernel-parameters.txt kernel/rcu/tree.c+17 -120 replies
6/13rcu: Add online/offline info to stall warning messagekernel/rcu/tree_plugin.h+6 -21 reply
7/13rcu: Move preemption disabling out of __srcu_read_lock()include/linux/srcu.h kernel/exit.c kernel/rcu/srcu.c+6 -310 replies
8/13rcu: Finish folding ->fqs_state into ->gp_statekernel/rcu/tree.c kernel/rcu/tree.h kernel/rcu/tree_trace.c+12 -220 replies
9/13rcu: Correct comment for values of ->gp_state fieldkernel/rcu/tree.h+1 -10 replies
10/13rcu: Add rcu_pointer_handoff()include/linux/rcupdate.h+22 -07 replies
11/13rculist: Make list_entry_rcu() use lockless_dereference()include/linux/rculist.h+1 -411 replies
12/13rcu: Remove deprecated rcu_lockdep_assert()include/linux/rcupdate.h+0 -210 replies
13/13rculist: Use WRITE_ONCE() when deleting from reader-visible listinclude/linux/list.h include/linux/list_bl.h include/linux/list_nulls.h+8 -50 replies

Reviews trailers per patch

2 of 13 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchIngo MolnarJosh TriplettPaul E. McKenney
SeriesR-b
1/13A-b
2/13
3/13
4/13
5/13
6/13
7/13
8/13
9/13
10/13
11/13A-b A-b
12/13
13/13

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/13] Miscellaneous fixes for 4.4

Hello!

This series contains miscellaneous fixes:

1. Export sched_setscheduler_nocheck() so that the new locktorture
rtmutex_lock tests can be run as modules, courtesy of Davidlohr Bueso.

2. Use rcu_callback_t in call_rcu*() and friends to improve
readability and to make cscope able to find them, courtesy of Boqun Feng.

3. Use call_rcu_func_t to replace explicit type equivalents when
defining RCU callback functions, courtesy of Boqun Feng.

4. Don't unnecessarily disable preemption for Tiny and Tree
RCU readers (only for preemptible RCU readers), courtesy of Boqun Feng.

5. Eliminate boot-time panic when a silly boot-time fanout is
specified.

6. Add online/offline info to help debug stall-warning messages.

7. Move preemption disabling out of __srcu_read_lock() into

	srcu_read_lock().

8. Finish folding ->fqs_state into ->gp_state, courtesy of Petr Mladek.

9. Correct comment for values of ->gp_state field.

10. Add rcu_pointer_handoff() to allow explicit marking of handing
off protection from RCU to some other means, such as locking or reference counting.

11. Make list_entry_rcu() use lockless_dereference(), courtesy
of Patrick Marlier. Despite the fact that this patch does nothing more than eliminate a single store and a single load of an unshared stack variable it nevertheless manages to provide a measurable performance increase:
http://people.csail.mit.edu/amatveev/RLU_SOSP2015.pdf

12. Remove deprecated rcu_lockdep_assert().

Thanx, Paul

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

 b/Documentation/kernel-parameters.txt |    9 +++--
 b/include/linux/list.h                |    5 +-
 b/include/linux/list_bl.h             |    5 +-
 b/include/linux/list_nulls.h          |    3 +
 b/include/linux/rculist.h             |    5 --
 b/include/linux/rcupdate.h            |   59 +++++++++++++++++-----------------
 b/include/linux/rcutiny.h             |    3 +
 b/include/linux/rcutree.h             |    2 -
 b/include/linux/srcu.h                |    5 ++
 b/kernel/exit.c                       |    2 +
 b/kernel/rcu/rcutorture.c             |    6 +--
 b/kernel/rcu/srcu.c                   |    4 --
 b/kernel/rcu/tiny.c                   |    8 ++--
 b/kernel/rcu/tree.c                   |   55 ++++++++++++++++++-------------
 b/kernel/rcu/tree.h                   |   21 +++---------
 b/kernel/rcu/tree_plugin.h            |   10 ++++-
 b/kernel/rcu/tree_trace.c             |    2 -
 b/kernel/rcu/update.c                 |    2 -
 b/kernel/sched/core.c                 |    1 
 19 files changed, 111 insertions(+), 96 deletions(-)