2024-05-10 18:31:25

by Uladzislau Rezki

[permalink] [raw]
Subject: [GIT PULL] RCU changes for v6.10

Hi Linus,

Please pull the latest RCU git tree from:

https://github.com/urezki/linux.git tags/rcu.next.v6.10

# HEAD: 64619b283bb35b12a96129e82b40304f7e5551b7:

Merge branches 'fixes.2024.04.15a', 'misc.2024.04.12a', 'rcu-sync-normal-improve.2024.04.15a', 'rcu-tasks.2024.04.15a' and 'rcutorture.2024.04.15a' into rcu-merge.2024.04.15a

fixes.2024.04.15a: RCU fixes
misc.2024.04.12a: Miscellaneous fixes
rcu-sync-normal-improve.2024.04.15a: Improving synchronize_rcu() call
rcu-tasks.2024.04.15a: Tasks RCU updates
rcutorture.2024.04.15a: Torture-test updates

One merge conflicts was detected by linux-next:

* https://lore.kernel.org/linux-kernel/[email protected]/

The conflict resolution from linux-next look good to me, plus I make
my own resolutions at branch merge/rcu.2024.04.30a for your reference.

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

RCU pull request for v6.10

This pull request contains the following branches:

fixes.2024.04.15a: Fix a lockdep complain for lazy-preemptible kernel,
remove redundant BH disable for TINY_RCU, remove redundant READ_ONCE()
in tree.c, fix false positives KCSAN splat and fix buffer overflow in
the print_cpu_stall_info().

misc.2024.04.12a: Misc updates related to bpf, tracing and update the
MAINTAINERS file.

rcu-sync-normal-improve.2024.04.15a: An improvement of a normal
synchronize_rcu() call in terms of latency. It maintains a separate
track for sync. users only. This approach bypasses per-cpu nocb-lists
thus sync-users do not depend on nocb-list length and how fast regular
callbacks are processed. This is controlled by a default-off runtime
option. See /sys/module/rcutree/parameters/rcu_normal_wake_from_gp
parameter.

rcu-tasks.2024.04.15a: RCU tasks, switch tasks RCU grace periods to
sleep at TASK_IDLE priority, fix some comments, add some diagnostic
warning to the exit_tasks_rcu_start() and fix a buffer overflow in
the show_rcu_tasks_trace_gp_kthread().

rcutorture.2024.04.15a: Functionality improvement for better usability
and information of the tests, bug fixes, code cleanup and documention
update.

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

Johannes Berg (1):
rcu: Mollify sparse with RCU guard

Neeraj Upadhyay (1):
MAINTAINERS: Update Neeraj's email address

Nikita Kiryushin (2):
rcu-tasks: Fix show_rcu_tasks_trace_gp_kthread buffer overflow
rcu: Fix buffer overflow in print_cpu_stall_info()

Paul E. McKenney (29):
scftorture: Increase memory provided to guest OS
rcutorture: Disable tracing to permit Tasks Rude RCU testing
rcu: Add lockdep checks and kernel-doc header to rcu_softirq_qs()
rcutorture: Enable RCU priority boosting for TREE09
rcutorture: Dump # online CPUs on insufficient cb-flood laundering
rcutorture: Dump GP kthread state on insufficient cb-flood laundering
rcutorture: ASSERT_EXCLUSIVE_WRITER() for ->rtort_pipe_count updates
rcu-tasks: Make Tasks RCU wait idly for grace-period delays
bpf: Select new NEED_TASKS_RCU Kconfig option
arch: Select new NEED_TASKS_RCU Kconfig option
tracing: Select new NEED_TASKS_RCU Kconfig option
bpf: Choose RCU Tasks based on TASKS_RCU rather than PREEMPTION
ftrace: Choose RCU Tasks based on TASKS_RCU rather than PREEMPTION
rcu: Make TINY_RCU depend on !PREEMPT_RCU rather than !PREEMPTION
srcu: Make Tiny SRCU explicitly disable preemption
rcu: Create NEED_TASKS_RCU to factor out enablement logic
rcu: Remove redundant BH disabling in TINY_RCU
rcu: Make Tiny RCU explicitly disable preemption
rcu: Remove redundant READ_ONCE() of rcu_state.gp_flags in tree.c
rcu: Bring diagnostic read of rcu_state.gp_flags into alignment
rcu: Mark writes to rcu_sync ->gp_count field
rcu: Mark loads from rcu_state.n_online_cpus
rcu: Make hotplug operations track GP state, not flags
rcu: Inform KCSAN of one-byte cmpxchg() in rcu_trc_cmpxchg_need_qs()
rcu: Remove redundant CONFIG_PROVE_RCU #if condition
rcu-tasks: Replace exit_tasks_rcu_start() initialization with
WARN_ON_ONCE()
rcutorture: Remove extraneous rcu_torture_pipe_update_one()
READ_ONCE()
rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment
torture: Scale --do-kvfree test time

Uladzislau Rezki (Sony) (6):
rcu: Add data structures for synchronize_rcu()
rcu: Update lockdep while in RCU read-side critical section
rcu: Reduce synchronize_rcu() latency
rcu: Add a trace event for synchronize_rcu_normal()
rcu: Support direct wake-up of synchronize_rcu() users
rcu: Allocate WQ with WQ_MEM_RECLAIM bit set

Zenghui Yu (1):
doc: Remove references to arrayRCU.rst

Zqiang (7):
rcu-tasks: Fix the comments for tasks_rcu_exit_srcu_stall_timer
rcutorture: Use the gp_kthread_dbg operation specified by cur_ops
rcutorture: Make rcutorture support print rcu-tasks gp state
rcutorture: Removing redundant function pointer initialization
rcutorture: Make stall-tasks directly exit when rcutorture tests end
rcutorture: Fix invalid context warning when enable srcu barrier
testing
rcutorture: Use rcu_gp_slow_register/unregister() only for rcutype
test

linke li (1):
rcutorture: Re-use value stored to ->rtort_pipe_count instead of
re-reading

.mailmap | 3 -
Documentation/RCU/whatisRCU.rst | 6 +-
Documentation/admin-guide/kernel-parameters.txt | 14 ++++
MAINTAINERS | 2
arch/Kconfig | 4 -
include/linux/rcupdate.h | 2
include/linux/rcupdate_wait.h | 18 +++---
include/linux/srcutiny.h | 2
include/trace/events/rcu.h | 27 +++++++++
kernel/bpf/Kconfig | 2
kernel/bpf/trampoline.c | 2
kernel/rcu/Kconfig | 2
kernel/rcu/rcu.h | 20 +++---
kernel/rcu/rcutorture.c | 4 -
kernel/rcu/srcutiny.c | 31 ++++++++--
kernel/rcu/srcutree.c | 5 -
kernel/rcu/sync.c | 8 ++
kernel/rcu/tasks.h | 6 +-
kernel/rcu/tiny.c | 2
kernel/rcu/tree.c | 28 +++++++++
kernel/rcu/tree.h | 14 ++++
kernel/rcu/tree_exp.h | 2
kernel/rcu/tree_plugin.h | 4 -
kernel/rcu/tree_stall.h | 2
kernel/rcu/update.c | 4 -
kernel/trace/Kconfig | 4 -
kernel/trace/ftrace.c | 3 -
tools/testing/selftests/rcutorture/bin/torture.sh | 2
tools/testing/selftests/rcutorture/configs/rcu/TREE09 | 5 +
include/linux/rcupdate.h | 20 +++++-
kernel/rcu/Kconfig | 6 +-
kernel/rcu/rcutorture.c | 81 +++++++++++++++------------
kernel/rcu/tasks.h | 38 +++++++++++-
kernel/rcu/tiny.c | 2
kernel/rcu/tree.c | 408 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
kernel/rcu/tree.h | 10 ++-
kernel/rcu/tree_stall.h | 9 ++-
tools/testing/selftests/rcutorture/bin/torture.sh | 4 -
38 files changed, 666 insertions(+), 140 deletions(-)


2024-05-13 16:38:39

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] RCU changes for v6.10

[ I should have reacted to this earlier, but I just put all the "for
6.10" pull requests in the queue without looking closer ]

On Fri, 10 May 2024 at 11:30, Uladzislau Rezki (Sony) <[email protected]> wrote:
>
> Please pull the latest RCU git tree from:
>
> https://github.com/urezki/linux.git tags/rcu.next.v6.10

Hmm. I don't have your pgp key to check, but I do see that it's in the
kernel.org repo of pgp keys so I know where to get it.

HOWEVER - importantly - I also don't find any handoff emails from Paul
or Boqun giving a heads up that I should expect pull requests from
others.

Put another way: I really want to see proper heads-up and "yes, this
was all intentional, nothing odd going on" when seeing pull requests
from new people to core areas.

Linus

2024-05-13 16:46:56

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [GIT PULL] RCU changes for v6.10

On Mon, May 13, 2024 at 09:38:11AM -0700, Linus Torvalds wrote:
> [ I should have reacted to this earlier, but I just put all the "for
> 6.10" pull requests in the queue without looking closer ]
>
> On Fri, 10 May 2024 at 11:30, Uladzislau Rezki (Sony) <[email protected]> wrote:
> >
> > Please pull the latest RCU git tree from:
> >
> > https://github.com/urezki/linux.git tags/rcu.next.v6.10
>
> Hmm. I don't have your pgp key to check, but I do see that it's in the
> kernel.org repo of pgp keys so I know where to get it.
>
> HOWEVER - importantly - I also don't find any handoff emails from Paul
> or Boqun giving a heads up that I should expect pull requests from
> others.
>
> Put another way: I really want to see proper heads-up and "yes, this
> was all intentional, nothing odd going on" when seeing pull requests
> from new people to core areas.

My bad, and apologies!

Yes, this is intentional, nothing odd is going on, and Uladzislau's pull
request is legitimate.

Thanx, Paul

2024-05-13 16:50:23

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] RCU changes for v6.10

On Mon, 13 May 2024 at 09:46, Paul E. McKenney <[email protected]> wrote:
>
> Yes, this is intentional, nothing odd is going on, and Uladzislau's pull
> request is legitimate.

If this is more than a one-time thing, maybe Uladzislau should be in
the MAINTAINERS entry too?

Linus

2024-05-13 16:56:54

by Paul E. McKenney

[permalink] [raw]
Subject: Re: [GIT PULL] RCU changes for v6.10

On Mon, May 13, 2024 at 09:48:47AM -0700, Linus Torvalds wrote:
> On Mon, 13 May 2024 at 09:46, Paul E. McKenney <[email protected]> wrote:
> >
> > Yes, this is intentional, nothing odd is going on, and Uladzislau's pull
> > request is legitimate.
>
> If this is more than a one-time thing, maybe Uladzislau should be in
> the MAINTAINERS entry too?

I queued a patch for this (admittedly embarrassingly few days ago)
in -rcu:

e3838cb87bb4 ("MAINTAINERS: Add Uladzislau Rezki as RCU maintainer")

Unless you tell me you want it sooner, we will sending this into the
v6.11 merge window.

Thanx, Paul

2024-05-13 16:59:02

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] RCU changes for v6.10

On Mon, 13 May 2024 at 09:56, Paul E. McKenney <[email protected]> wrote:
>
> Unless you tell me you want it sooner, we will sending this into the
> v6.11 merge window.

No hurry, just as long as it gets done at some point. Uladzislau is in
my keychain now, so this no longer triggers big warning messages in my
scripts..

Linus

2024-05-13 17:07:18

by Boqun Feng

[permalink] [raw]
Subject: Re: [GIT PULL] RCU changes for v6.10

On Mon, May 13, 2024 at 09:46:45AM -0700, Paul E. McKenney wrote:
> On Mon, May 13, 2024 at 09:38:11AM -0700, Linus Torvalds wrote:
> > [ I should have reacted to this earlier, but I just put all the "for
> > 6.10" pull requests in the queue without looking closer ]
> >
> > On Fri, 10 May 2024 at 11:30, Uladzislau Rezki (Sony) <[email protected]> wrote:
> > >
> > > Please pull the latest RCU git tree from:
> > >
> > > https://github.com/urezki/linux.git tags/rcu.next.v6.10
> >
> > Hmm. I don't have your pgp key to check, but I do see that it's in the
> > kernel.org repo of pgp keys so I know where to get it.
> >
> > HOWEVER - importantly - I also don't find any handoff emails from Paul
> > or Boqun giving a heads up that I should expect pull requests from
> > others.
> >
> > Put another way: I really want to see proper heads-up and "yes, this
> > was all intentional, nothing odd going on" when seeing pull requests
> > from new people to core areas.
>
> My bad, and apologies!
>

Apologies on my end as well, I should have done this or asked Paul to
do.

Regards,
Boqun

> Yes, this is intentional, nothing odd is going on, and Uladzislau's pull
> request is legitimate.
>
> Thanx, Paul

2024-05-13 17:07:22

by pr-tracker-bot

[permalink] [raw]
Subject: Re: [GIT PULL] RCU changes for v6.10

The pull request you sent on Fri, 10 May 2024 20:30:49 +0200:

> https://github.com/urezki/linux.git tags/rcu.next.v6.10

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/c0b9620bc3f0a0f914996cc6631522d41870a9e0

Thank you!

--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html