[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200312211047.GA6096@paulmck-ThinkPad-P72>
Date: Thu, 12 Mar 2020 14:10:47 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: mingo@...nel.org
Cc: linux-kernel@...r.kernel.org, rcu@...r.kernel.org,
colin.king@...onical.com, edumazet@...gle.com, frextrite@...il.com,
jbi.octave@...il.com, joel@...lfernandes.org,
madhuparnabhowmik04@...il.com, sjpark@...zon.de, urezki@...il.com
Subject: [GIT PULL rcu/next] RCU commits for v5.7
Hello, Ingo!
This pull request contains the following changes:
1. Documentation updates.
https://lore.kernel.org/lkml/20200214233848.GA12744@paulmck-ThinkPad-P72
2. Miscellaneous fixes.
https://lore.kernel.org/lkml/20200214235536.GA13364@paulmck-ThinkPad-P72
3. Make kfree_rcu() use kfree_bulk() for added performance.
https://lore.kernel.org/lkml/20200215000031.GA14315@paulmck-ThinkPad-P72
4. Locking torture-test updates.
https://lore.kernel.org/lkml/20200215000312.GA14585@paulmck-ThinkPad-P72
5. Callback-overload handling updates.
https://lore.kernel.org/lkml/20200215001816.GA15284@paulmck-ThinkPad-P72
6. Tasks-RCU KCSAN and sparse updates.
https://lore.kernel.org/lkml/20200215002446.GA15663@paulmck-ThinkPad-P72
7. SRCU updates.
https://lore.kernel.org/lkml/20200215002907.GA15895@paulmck-ThinkPad-P72
8. Torture-test updates.
https://lore.kernel.org/lkml/20200215003634.GA16227@paulmck-ThinkPad-P72
All of these have been subjected to the kbuild test robot and -next
testing, and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo
for you to fetch changes up to b5e91fead597a4eca629e0d2dcf767d49b79acb3:
Merge branches 'doc.2020.02.27a', 'fixes.2020.02.27a', 'kfree_rcu.2020.02.20a', 'locktorture.2020.02.20a', 'ovld.2020.02.20a', 'rcu-tasks.2020.02.20a', 'srcu.2020.02.20a' and 'torture.2020.02.20a' into HEAD (2020-02-27 07:37:01 -0800)
There is a modest increase in code size of about 700 lines. About 300
of these added lines were documentation, almost 200 more from adding
kfree_bulk() support to kfree_rcu(), about 150 from torture-test
improvements, and about 80 lines from improved callback-overload handling.
All in all, good value from this expansion.
----------------------------------------------------------------
Amol Grover (1):
rculist: Add brackets around cond argument in __list_check_rcu macro
Colin Ian King (1):
rcu: Fix spelling mistake "leval" -> "level"
Eric Dumazet (1):
timer: Use hlist_unhashed_lockless() in timer_pending()
Joel Fernandes (Google) (2):
rcuperf: Measure memory footprint during kfree_rcu() test
doc: Add some more RCU list patterns in the kernel
Jules Irenge (4):
rcu: Add missing annotation for rcu_nocb_bypass_lock()
rcu/nocb: Add missing annotation for rcu_nocb_bypass_unlock()
rcu: Add missing annotation for exit_tasks_rcu_start()
rcu: Add missing annotation for exit_tasks_rcu_finish()
Madhuparna Bhowmik (1):
nfs: Fix nfs_access_get_cached_rcu() sparse error
Paul E. McKenney (55):
rcu: Warn on for_each_leaf_node_cpu_mask() from non-leaf
rcu: Fix exp_funnel_lock()/rcu_exp_wait_wake() datarace
rcu: Provide debug symbols and line numbers in KCSAN runs
rcu: Add WRITE_ONCE() to rcu_node ->qsmask update
rcu: Add WRITE_ONCE to rcu_node ->exp_seq_rq store
rcu: Add READ_ONCE() to rcu_node ->gp_seq
rcu: Add WRITE_ONCE() to rcu_state ->gp_req_activity
rcu: Add WRITE_ONCE() to rcu_node ->qsmaskinitnext
locking/rtmutex: rcu: Add WRITE_ONCE() to rt_mutex ->owner
rcu: Add READ_ONCE() to rcu_segcblist ->tails[]
rcu: Add *_ONCE() for grace-period progress indicators
rcu: Add READ_ONCE() to rcu_data ->gpwrap
rcu: Add *_ONCE() to rcu_data ->rcu_forced_tick
rcu: Add *_ONCE() to rcu_node ->boost_kthread_status
rcu: Remove dead code from rcu_segcblist_insert_pend_cbs()
rcu: Add WRITE_ONCE() to rcu_state ->gp_start
rcu: Fix rcu_barrier_callback() race condition
rcu: Don't flag non-starting GPs before GP kthread is running
rcu: Optimize and protect atomic_cmpxchg() loop
rcu: Tighten rcu_lockdep_assert_cblist_protected() check
rcu: Make nocb_gp_wait() double-check unexpected-callback warning
locktorture: Print ratio of acquisitions, not failures
locktorture: Allow CPU-hotplug to be disabled via --bootargs
locktorture: Use private random-number generators
locktorture: Forgive apparent unfairness if CPU hotplug
rcu: Clear ->core_needs_qs at GP end or self-reported QS
rcu: React to callback overload by aggressively seeking quiescent states
rcu: React to callback overload by boosting RCU readers
rcu: Update __call_rcu() comments
rcu-tasks: *_ONCE() for rcu_tasks_cbs_head
srcu: Fix __call_srcu()/process_srcu() datarace
srcu: Fix __call_srcu()/srcu_get_delay() datarace
srcu: Fix process_srcu()/srcu_batches_completed() datarace
srcu: Hold srcu_struct ->lock when updating ->srcu_gp_seq
rcutorture: Suppress forward-progress complaints during early boot
torture: Make results-directory date format completion-friendly
rcutorture: Refrain from callback flooding during boot
torture: Forgive -EBUSY from boottime CPU-hotplug operations
rcutorture: Allow boottime stall warnings to be suppressed
rcutorture: Suppress boottime bad-sequence warnings
torture: Allow disabling of boottime CPU-hotplug torture operations
rcutorture: Add 100-CPU configuration
rcutorture: Summarize summary of build and run results
rcutorture: Make kvm-find-errors.sh abort on bad directory
rcutorture: Fix rcu_torture_one_read()/rcu_torture_writer() data race
rcutorture: Fix stray access to rcu_fwd_cb_nodelay
rcutorture: Add READ_ONCE() to rcu_torture_count and rcu_torture_batch
rcutorture: Annotation lockless accesses to rcu_torture_current
rcutorture: Make rcu_torture_barrier_cbs() post from corresponding CPU
rcutorture: Manually clean up after rcu_barrier() failure
rcutorture: Set KCSAN Kconfig options to detect more data races
doc: Add rcutorture scripting to torture.txt
rcu: Mark rcu_state.gp_seq to detect concurrent writes
rcu: Make rcu_barrier() account for offline no-CBs CPUs
Merge branches 'doc.2020.02.27a', 'fixes.2020.02.27a', 'kfree_rcu.2020.02.20a', 'locktorture.2020.02.20a', 'ovld.2020.02.20a', 'rcu-tasks.2020.02.20a', 'srcu.2020.02.20a' and 'torture.2020.02.20a' into HEAD
SeongJae Park (8):
rcu: Fix typos in file-header comments
doc/RCU/Design: Remove remaining HTML tags in ReST files
doc/RCU/listRCU: Fix typos in a example code snippets
doc/RCU/listRCU: Update example function name
doc/RCU/rcu: Use ':ref:' for links to other docs
doc/RCU/rcu: Use absolute paths for non-rst files
doc/RCU/rcu: Use https instead of http if possible
Documentation/memory-barriers: Fix typos
Uladzislau Rezki (Sony) (2):
rcu: Support kfree_bulk() interface in kfree_rcu()
rcu: Add a trace event for kfree_rcu() use of kfree_bulk()
.../Memory-Ordering/Tree-RCU-Memory-Ordering.rst | 8 +-
Documentation/RCU/listRCU.rst | 281 ++++++++++---
Documentation/RCU/rcu.rst | 18 +-
Documentation/RCU/torture.txt | 147 ++++++-
Documentation/admin-guide/kernel-parameters.txt | 19 +
Documentation/memory-barriers.txt | 8 +-
fs/nfs/dir.c | 2 +-
include/linux/rculist.h | 4 +-
include/linux/rcutiny.h | 1 +
include/linux/rcutree.h | 1 +
include/linux/timer.h | 2 +-
include/trace/events/rcu.h | 29 ++
kernel/locking/locktorture.c | 15 +-
kernel/locking/rtmutex.c | 2 +-
kernel/rcu/Makefile | 4 +
kernel/rcu/rcu.h | 23 +-
kernel/rcu/rcu_segcblist.c | 4 +-
kernel/rcu/rcuperf.c | 14 +-
kernel/rcu/rcutorture.c | 67 ++-
kernel/rcu/srcutree.c | 18 +-
kernel/rcu/tree.c | 454 ++++++++++++++++-----
kernel/rcu/tree.h | 4 +
kernel/rcu/tree_exp.h | 13 +-
kernel/rcu/tree_plugin.h | 25 +-
kernel/rcu/tree_stall.h | 41 +-
kernel/rcu/update.c | 28 +-
kernel/time/timer.c | 7 +-
kernel/torture.c | 29 +-
.../testing/selftests/rcutorture/bin/functions.sh | 2 +-
.../selftests/rcutorture/bin/kvm-find-errors.sh | 2 +
.../selftests/rcutorture/bin/kvm-recheck.sh | 17 +-
tools/testing/selftests/rcutorture/bin/kvm.sh | 2 +-
.../selftests/rcutorture/configs/rcu/CFcommon | 2 +
.../selftests/rcutorture/configs/rcu/TREE10 | 18 +
34 files changed, 1017 insertions(+), 294 deletions(-)
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE10
Powered by blists - more mailing lists