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

From: Paul E. McKenney
Date: Thu Aug 28 2014 - 14:26:26 EST


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(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/