Re: [PATCH 0/3] rcu: synchronize_rcu[_expedited]() related fixes

From: Paul E. McKenney
Date: Mon Mar 14 2022 - 16:26:20 EST


On Mon, Mar 14, 2022 at 02:37:35PM +0100, Frederic Weisbecker wrote:
>
> A few fixes especially for expedited GP polling causing a stall on TREE07,
> as reported by Paul.
>
> We may still want to optimize start_poll_synchronize_rcu_expedited() on
> UP-no-preempt but I think Paul may be implying this while doing other
> fixes.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> rcu/dev
>
> HEAD: 6e5fd7e614fd5c8f0fffeaa140b7ea697bfeb096
>
> Thanks,
> Frederic

I have pulled these in for review and testing, thank you!!! I have
started a ~90-minute test and will let you know how that goes.

> ---
>
> Frederic Weisbecker (2):
> rcu: Fix expedited GP polling against UP/no-preempt environment

I have some concerns with this one due to the fact that it acquires locks
in cases where the old code would not. (I did have problems with this
in both recent SRCU changes and the normal-grace-period counterpart to
this series.)

But let's see what rcutorture and kbuild test robot think about it.

> rcu: Fix preemption mode check on synchronize_rcu[_expedited]()

This one looks good.

> Valentin Schneider (1):
> preempt/dynamic: Introduce preempt mode accessors

I am guessing that this one is a compact placeholder for my convenience
(in which case thank you!). I will be marking it "EXP" on my next rebase.

Thanx, Paul

> include/linux/sched.h | 16 +++++++++++++++
> kernel/rcu/tree.c | 2 +-
> kernel/rcu/tree_exp.h | 57 +++++++++++++++++++++++++++++++--------------------
> kernel/sched/core.c | 11 ++++++++++
> 4 files changed, 63 insertions(+), 23 deletions(-)