* [GIT PULL] RCU changes for v6.1
@ 2022-10-02 3:10 Paul E. McKenney
2022-10-03 17:32 ` pr-tracker-bot
0 siblings, 1 reply; 2+ messages in thread
From: Paul E. McKenney @ 2022-10-02 3:10 UTC (permalink / raw)
To: torvalds; +Cc: mingo, linux-kernel, tglx, rcu, kernel-team
Hello, Linus,
Once the merge window opens, please pull the latest RCU git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu.2022.09.30a
# HEAD: 5c0ec4900497f7c9cc12f393c329a52e67bc6b8b Merge branches 'doc.2022.08.31b', 'fixes.2022.08.31b', 'kvfree.2022.08.31b', 'nocb.2022.09.01a', 'poll.2022.08.31b', 'poll-srcu.2022.08.31b' and 'tasks.2022.08.31b' into HEAD
----------------------------------------------------------------
RCU pull request for v6.1
This pull request contains the following branches:
doc.2022.08.31b: Documentation updates. This is the first in a series
from an ongoing review of the RCU documentation. "Why are people
thinking -that- about RCU? Oh. Because that is an entirely
reasonable interpretation of its documentation."
fixes.2022.08.31b: Miscellaneous fixes.
kvfree.2022.08.31b: Improved memory allocation and heuristics.
nocb.2022.09.01a: Improve rcu_nocbs diagnostic output.
poll.2022.08.31b: Add full-sized polled RCU grace period state values.
These are the same size as an rcu_head structure, which is double
that of the traditional unsigned long state values that may still
be obtained from et_state_synchronize_rcu(). The added size
avoids missing overlapping grace periods. This benefit is that
call_rcu() can be replaced by polling, which can be attractive
in situations where RCU-protected data is aged out of memory.
Early in the series, the size of this state value is three
unsigned longs. Later in the series, the synchronize_rcu() and
synchronize_rcu_expedited() fastpaths are reworked to permit
the full state to be represented by only two unsigned longs.
This reworking slows these two functions down in SMP kernels
running either on single-CPU systems or on systems with all but
one CPU offlined, but this should not be a significant problem.
And if it somehow becomes a problem in some yet-as-unforeseen
situations, three-value state values can be provided for only
those situations.
Finally, a pair of functions named same_state_synchronize_rcu()
and same_state_synchronize_rcu_full() allow grace-period state
values to be compared for equality. This permits users to
maintain lists of data structures having the same state value,
removing the need for per-data-structure grace-period state
values, thus decreasing memory footprint.
poll-srcu.2022.08.31b: Polled SRCU grace-period updates, including
adding tests to rcutorture and reducing the incidence of Tiny
SRCU grace-period-state counter wrap.
tasks.2022.08.31b: Improve Tasks RCU diagnostics and quiescent-state
detection.
----------------------------------------------------------------
Joel Fernandes (Google) (1):
rcu/kfree: Fix kfree_rcu_shrink_count() return value
Michal Hocko (1):
rcu: Back off upon fill_page_cache_func() allocation failure
Paul E. McKenney (41):
doc: Emphasize the need for explicit RCU read-side markers
doc: Call out queue_rcu_work() for blocking RCU callbacks
doc: Use rcu_barrier() to rate-limit RCU callbacks
doc: Fix list: rcu_access_pointer() is not lockdep-checked
doc: Update rcu_access_pointer() advice in rcu_dereference.rst
doc: SLAB_TYPESAFE_BY_RCU uses cannot rely on spinlocks
rcu: Document reason for rcu_all_qs() call to preempt_disable()
rcu: Update rcu_access_pointer() header for rcu_dereference_protected()
rcu: Exclude outgoing CPU when it is the last to leave
rcu/nocb: Add CPU number to CPU-{,de}offload failure messages
rcu: Add full-sized polling for get_completed*() and poll_state*()
rcu: Add full-sized polling for get_state()
rcutorture: Abstract synchronous and polled API testing
rcutorture: Allow per-RCU-flavor polled double-GP check
rcutorture: Verify RCU reader prevents full polling from completing
rcutorture: Remove redundant RTWS_DEF_FREE check
rcutorture: Verify long-running reader prevents full polling from completing
rcu: Add full-sized polling for start_poll()
rcu: Add full-sized polling for start_poll_expedited()
rcu: Remove blank line from poll_state_synchronize_rcu() docbook header
rcu: Add full-sized polling for cond_sync_full()
rcu: Add full-sized polling for cond_sync_exp_full()
rcu: Disable run-time single-CPU grace-period optimization
rcu: Set rcu_data structures' initial ->gpwrap value to true
rcu-tasks: Remove grace-period fast-path rcu-tasks helper
rcu: Make synchronize_rcu() fast path update ->gp_seq counters
rcu: Remove expedited grace-period fast-path forward-progress helper
rcu: Make synchronize_rcu_expedited() fast path update .expedited_sequence
rcu: Remove ->rgos_polled field from rcu_gp_oldstate structure
rcutorture: Adjust rcu_poll_need_2gp() for rcu_gp_oldstate field removal
rcu: Make synchronize_rcu() fastpath update only boot-CPU counters
rcutorture: Use 1-suffixed variable in rcu_torture_write_types() check
rcutorture: Expand rcu_torture_write_types() first "if" statement
rcu: Add functions to compare grace-period state values
rcutorture: Limit read-side polling-API testing
rcutorture: Make "srcud" option also test polled grace-period API
srcu: Add GP and maximum requested GP to Tiny SRCU rcutorture output
srcu: Make Tiny SRCU poll_state_synchronize_srcu() more precise
srcu: Make Tiny SRCU use full-sized grace-period counters
rcu-tasks: Ensure RCU Tasks Trace loops have quiescent states
Merge branches 'doc.2022.08.31b', 'fixes.2022.08.31b', 'kvfree.2022.08.31b', 'nocb.2022.09.01a', 'poll.2022.08.31b', 'poll-srcu.2022.08.31b' and 'tasks.2022.08.31b' into HEAD
Shao-Tse Hung (1):
doc/rcu: Update LWN article URLs and add 2019 article
Uladzislau Rezki (Sony) (1):
rcu/kvfree: Update KFREE_DRAIN_JIFFIES interval
Zhen Lei (2):
sched/debug: Try trigger_single_cpu_backtrace(cpu) in dump_cpu_task()
sched/debug: Show the registers of 'current' in dump_cpu_task()
Zqiang (9):
rcu: Fix rcu_read_unlock_strict() strict QS reporting
rcu: Update rcu_preempt_deferred_qs() comments for !PREEMPT kernels
rcu: Add QS check in rcu_exp_handler() for non-preemptible kernels
rcu: Make tiny RCU support leak callbacks for debug-object errors
rcu: Avoid triggering strict-GP irq-work when RCU is idle
rcu/nocb: Choose the right rcuog/rcuop kthreads to output
rcu-tasks: Convert RCU_LOCKDEP_WARN() to WARN_ONCE()
rcu-tasks: Make RCU Tasks Trace check for userspace execution
rcutorture: Use the barrier operation specified by cur_ops
Documentation/RCU/checklist.rst | 15 +-
Documentation/RCU/rcu_dereference.rst | 14 +-
Documentation/RCU/whatisRCU.rst | 47 +++--
include/linux/rcupdate.h | 42 ++++-
include/linux/rcutiny.h | 50 ++++++
include/linux/rcutree.h | 40 +++++
include/linux/srcutiny.h | 10 +-
kernel/rcu/rcutorture.c | 290 +++++++++++++++++++++++++-----
kernel/rcu/srcutiny.c | 14 +-
kernel/rcu/tasks.h | 5 +-
kernel/rcu/tiny.c | 27 ++-
kernel/rcu/tree.c | 330 ++++++++++++++++++++++++++--------
kernel/rcu/tree_exp.h | 57 +++++-
kernel/rcu/tree_nocb.h | 10 +-
kernel/rcu/tree_plugin.h | 26 +--
kernel/rcu/tree_stall.h | 5 +-
kernel/sched/core.c | 14 ++
kernel/smp.c | 3 +-
18 files changed, 813 insertions(+), 186 deletions(-)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [GIT PULL] RCU changes for v6.1
2022-10-02 3:10 [GIT PULL] RCU changes for v6.1 Paul E. McKenney
@ 2022-10-03 17:32 ` pr-tracker-bot
0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2022-10-03 17:32 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: torvalds, mingo, linux-kernel, tglx, rcu, kernel-team
The pull request you sent on Sat, 1 Oct 2022 20:10:46 -0700:
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu.2022.09.30a
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/890f242084c9eac18ef87031d95e0bdbaac01ed4
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-10-03 17:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-02 3:10 [GIT PULL] RCU changes for v6.1 Paul E. McKenney
2022-10-03 17:32 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).