[PATCH tip/core/rcu 0/19] Miscellaneous fixes for v5.8

Paul E. McKenney
2020-04-15T17:10:35Z

Hello!

This series provides miscellaneous fixes.

1. Add KCSAN stubs to tree.c.

2. Add KCSAN stubs to srcutree.c.

3. Mark rcu_state.ncpus to detect concurrent writes.

4. Add *_ONCE() and data_race() to rcu_node ->exp_tasks and also
add some needed locking.

5. Add READ_ONCE and data_race() to rcu_node ->boost_tasks.

6. Add data_race() to ->srcu_lock_count and ->srcu_unlock_count arrays.

7. Add WRITE_ONCE() to rcu_node ->boost_tasks.

8. Use data_race() for RCU CPU stall-warning prints.

9. Make drm_dp_mst_dsc_aux_for_port() safe for old compilers.
Hey, I have the hair color for it!!! ;-)

10. Expedite first two FQS scans under callback-overload conditions.

11. Fix the (t=0 jiffies) false positive, courtesy of Zhaolong Zhang.

12. Revert "rculist: Describe variadic macro argument in a
Sphinx-compatible way" due to Sphinx now being able to handle
the original description, courtesy of Jonathan Neuschäfer.

13. Get rid of some doc warnings in update.c, courtesy of
Mauro Carvalho Chehab.

14. Mark rcu_state.gp_seq to detect more concurrent writes.

15. Replace assigned pointer ret value by corresponding boolean value,
courtesy of Jules Irenge.

16. Replace 1 by true in use_softirq initialization, courtesy of
Jules Irenge.

17. Convert ULONG_CMP_GE() to time_after() for jiffy comparison.

18. Convert rcu_initiate_boost() ULONG_CMP_GE() to time_after().

19. Convert rcu_nohz_full_cpu() ULONG_CMP_LT() to time_before().

Thanx, Paul

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

drivers/gpu/drm/drm_dp_mst_topology.c | 2 -
include/linux/rculist.h | 4 +--
kernel/rcu/srcutree.c | 21 ++++++++++++++---
kernel/rcu/tree.c | 41 ++++++++++++++++++++++++++++------
kernel/rcu/tree.h | 1
kernel/rcu/tree_exp.h | 19 +++++++++------
kernel/rcu/tree_plugin.h | 21 +++++++++--------
kernel/rcu/tree_stall.h | 38 +++++++++++++++----------------
kernel/rcu/update.c | 14 +++++------
9 files changed, 103 insertions(+), 58 deletions(-)