mbox series

[0/7] Polled grace-period updates for v6.1

Message ID 20220831181207.GA2694717@paulmck-ThinkPad-P17-Gen-1 (mailing list archive)
Headers show
Series Polled grace-period updates for v6.1 | expand

Message

Paul E. McKenney Aug. 31, 2022, 6:12 p.m. UTC
Hello!

This series adds support for full-state polled RCU grace periods, both
normal and expedited:

1.	Add full-sized polling for get_completed*() and poll_state*().

2.	Add full-sized polling for get_state().

3.	Abstract synchronous and polled API testing.

4.	Allow per-RCU-flavor polled double-GP check.

5.	Verify RCU reader prevents full polling from completing.

6.	Remove redundant RTWS_DEF_FREE check.

7.	Verify long-running reader prevents full polling from completing.

8.	Add full-sized polling for start_poll().

9.	Add full-sized polling for start_poll_expedited().

10.	Remove blank line from poll_state_synchronize_rcu() docbook
	header.

11.	Add full-sized polling for cond_sync_full().

12.	Add full-sized polling for cond_sync_exp_full().

13.	Disable run-time single-CPU grace-period optimization.

14.	Set rcu_data structures' initial ->gpwrap value to true.

15.	rcu-tasks: Remove grace-period fast-path rcu-tasks helper.

16.	Make synchronize_rcu() fast path update ->gp_seq counters.

17.	Remove expedited grace-period fast-path forward-progress helper.

18.	Make synchronize_rcu_expedited() fast path update
	.expedited_sequence.

19.	Remove ->rgos_polled field from rcu_gp_oldstate structure.

20.	Adjust rcu_poll_need_2gp() for rcu_gp_oldstate field removal.

21.	Make synchronize_rcu() fastpath update only boot-CPU counters.

22.	Use 1-suffixed variable in rcu_torture_write_types() check.

23.	Expand rcu_torture_write_types() first "if" statement.

24.	Add functions to compare grace-period state values.

25.	Limit read-side polling-API testing.

						Thanx, Paul

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

 b/include/linux/rcupdate.h |    3 
 b/include/linux/rcutiny.h  |    9 
 b/include/linux/rcutree.h  |    8 
 b/kernel/rcu/rcutorture.c  |    9 
 b/kernel/rcu/tiny.c        |   10 +
 b/kernel/rcu/tree.c        |   76 +++++++-
 b/kernel/rcu/tree_exp.h    |   18 +
 include/linux/rcupdate.h   |   21 ++
 include/linux/rcutiny.h    |   41 ++++
 include/linux/rcutree.h    |   34 +++
 kernel/rcu/rcutorture.c    |  412 +++++++++++++++++++++++++++++++++------------
 kernel/rcu/tree.c          |  230 +++++++++++++++++--------
 kernel/rcu/tree_exp.h      |   35 +++
 13 files changed, 720 insertions(+), 186 deletions(-)