All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boqun Feng <boqun@kernel.org>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: rcu@vger.kernel.org, linux-kernel@vger.kernel.org,
	kernel-team@meta.com, rostedt@goodmis.org
Subject: Re: [PATCH v3 1/4] rcutorture: Update due to x86 not supporting none/voluntary preemption
Date: Thu, 5 Mar 2026 11:59:35 -0800	[thread overview]
Message-ID: <aangp2xaOayAC8dy@tardis.local> (raw)
In-Reply-To: <58f83c55-51cf-4a77-a5d1-3a5adfe9e4c2@paulmck-laptop>

On Thu, Mar 05, 2026 at 11:06:25AM -0800, Paul E. McKenney wrote:
> On Thu, Mar 05, 2026 at 10:22:35AM -0800, Boqun Feng wrote:
[...]
> > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TINY01 b/tools/testing/selftests/rcutorture/configs/rcu/TINY01
> > > index bd5ed7b0da5f0..2be53bf60d65b 100644
> > > --- a/tools/testing/selftests/rcutorture/configs/rcu/TINY01
> > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TINY01
> > > @@ -1,9 +1,9 @@
> > >  CONFIG_SMP=n
> > > -CONFIG_PREEMPT_NONE=y
> > > +CONFIG_PREEMPT_LAZY=y
> > > +CONFIG_PREEMPT_NONE=n
> > >  CONFIG_PREEMPT_VOLUNTARY=n
> > >  CONFIG_PREEMPT=n
> > >  CONFIG_PREEMPT_DYNAMIC=n
> > > -CONFIG_PREEMPT_LAZY=n
> > 
> > This is the line that was introduced by the said commit, hence this
> > patch is still separate from that commit I think?
> 
> I *think* I have them folded/squashed correctly.
> 
> I pushed this out to my -rcu "dev" branch.  The relevant commits are,
> in order of increasing time of commit:
> 
> c70ac5693540 ("rcutorture: Adjust scenarios for default lazy preemption")

It's the commit c69ac5693540 in your "dev" branch, right?

> 86126bc6d7ad ("rcutorture: Update due to x86 not supporting none/voluntary preemption")
> 5631c1565493 ("Revert "rcutorture: Adjust scenarios for default lazy preemption"")
> 6fd95cee7427 ("Revert "rcutorture: Update due to x86 not supporting none/voluntary preemption"")

The thing is the combination of the above 4 didn't introduce a clean
base in rcu/{TINY01, TREE04, TREE05, TREE06}, as shown by:

	git diff 'c69ac5693540^..6fd95cee7427' -- tools/testing/selftests/rcutorture/configs/rcu/{TINY01,TREE04,TREE05,TREE06}

I took a look, it's because commit 86126bc6d7ad ("rcutorture: Update due
to x86 not supporting none/voluntary preemption") was based on commit
c69ac5693540, and it moved a few CONFIG_PREEMPT_LAZY configs, and when
it got reverted in commit 6fd95cee7427, these configs were moved back so
commit 5631c1565493's revert was partially reverted.

> 17c52d7b31a1 ("rcutorture: Update due to x86 not supporting none/voluntary preemption")
> 

A simple way to verify would be try `cherry-pick` this commit onto
7.0-rc1.

Regards,
Boqun

> The first was applied by Joel to the shared RCU tree, the second is in my
> -rcu tree, and the last three are consecutive commits in my -rcu tree.
> The following command gives no output, which I was interpreting as my
> having done it correctly.  But please double-check.
> 
> git diff 5631c1565493^..17c52d7b31a1
> 
> 							Thanx, Paul
> 
> > Regards,
> > Boqun
> > 
> > >  #CHECK#CONFIG_TINY_RCU=y
> > >  CONFIG_HZ_PERIODIC=n
> > >  CONFIG_NO_HZ_IDLE=y
> > > @@ -12,4 +12,3 @@ CONFIG_RCU_TRACE=n
> > >  #CHECK#CONFIG_RCU_STALL_COMMON=n
> > >  CONFIG_DEBUG_LOCK_ALLOC=n
> > >  CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
> > > -CONFIG_PREEMPT_COUNT=n
> > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TINY02 b/tools/testing/selftests/rcutorture/configs/rcu/TINY02
> > > index 30439f6fc20e6..be8860342ef71 100644
> > > --- a/tools/testing/selftests/rcutorture/configs/rcu/TINY02
> > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TINY02
> > > @@ -1,5 +1,6 @@
> > >  CONFIG_SMP=n
> > > -CONFIG_PREEMPT_NONE=y
> > > +CONFIG_PREEMPT_LAZY=y
> > > +CONFIG_PREEMPT_NONE=n
> > >  CONFIG_PREEMPT_VOLUNTARY=n
> > >  CONFIG_PREEMPT=n
> > >  CONFIG_PREEMPT_DYNAMIC=n
> > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TRACE01 b/tools/testing/selftests/rcutorture/configs/rcu/TRACE01
> > > index 18efab346381a..8fb124c28f283 100644
> > > --- a/tools/testing/selftests/rcutorture/configs/rcu/TRACE01
> > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TRACE01
> > > @@ -1,7 +1,8 @@
> > >  CONFIG_SMP=y
> > >  CONFIG_NR_CPUS=5
> > >  CONFIG_HOTPLUG_CPU=y
> > > -CONFIG_PREEMPT_NONE=y
> > > +CONFIG_PREEMPT_LAZY=y
> > > +CONFIG_PREEMPT_NONE=n
> > >  CONFIG_PREEMPT_VOLUNTARY=n
> > >  CONFIG_PREEMPT=n
> > >  CONFIG_PREEMPT_DYNAMIC=n
> > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE04 b/tools/testing/selftests/rcutorture/configs/rcu/TREE04
> > > index 34aee1acb8662..ac857d5bcb222 100644
> > > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE04
> > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE04
> > > @@ -1,11 +1,12 @@
> > >  CONFIG_SMP=y
> > >  CONFIG_NR_CPUS=8
> > > +CONFIG_PREEMPT_LAZY=y
> > >  CONFIG_PREEMPT_NONE=n
> > > -CONFIG_PREEMPT_VOLUNTARY=y
> > > +CONFIG_PREEMPT_VOLUNTARY=n
> > >  CONFIG_PREEMPT=n
> > >  CONFIG_PREEMPT_DYNAMIC=n
> > > -CONFIG_PREEMPT_LAZY=n
> > >  #CHECK#CONFIG_TREE_RCU=y
> > > +#CHECK#CONFIG_PREEMPT_RCU=n
> > >  CONFIG_HZ_PERIODIC=n
> > >  CONFIG_NO_HZ_IDLE=n
> > >  CONFIG_NO_HZ_FULL=y
> > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE05 b/tools/testing/selftests/rcutorture/configs/rcu/TREE05
> > > index 0513aa33c32c4..61d15b1b54d16 100644
> > > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE05
> > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE05
> > > @@ -1,9 +1,10 @@
> > >  CONFIG_SMP=y
> > >  CONFIG_NR_CPUS=8
> > > -CONFIG_PREEMPT_NONE=y
> > > +CONFIG_PREEMPT_DYNAMIC=n
> > > +CONFIG_PREEMPT_LAZY=y
> > > +CONFIG_PREEMPT_NONE=n
> > >  CONFIG_PREEMPT_VOLUNTARY=n
> > >  CONFIG_PREEMPT=n
> > > -CONFIG_PREEMPT_LAZY=n
> > >  #CHECK#CONFIG_TREE_RCU=y
> > >  CONFIG_HZ_PERIODIC=n
> > >  CONFIG_NO_HZ_IDLE=y
> > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE06 b/tools/testing/selftests/rcutorture/configs/rcu/TREE06
> > > index cc3ea23c76557..0e090bb68a0f6 100644
> > > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE06
> > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE06
> > > @@ -1,10 +1,12 @@
> > >  CONFIG_SMP=y
> > >  CONFIG_NR_CPUS=8
> > > -CONFIG_PREEMPT_NONE=y
> > > +CONFIG_PREEMPT_DYNAMIC=n
> > > +CONFIG_PREEMPT_LAZY=y
> > > +CONFIG_PREEMPT_NONE=n
> > >  CONFIG_PREEMPT_VOLUNTARY=n
> > >  CONFIG_PREEMPT=n
> > > -CONFIG_PREEMPT_LAZY=n
> > >  #CHECK#CONFIG_TREE_RCU=y
> > > +#CHECK#CONFIG_PREEMPT_RCU=n
> > >  CONFIG_HZ_PERIODIC=n
> > >  CONFIG_NO_HZ_IDLE=y
> > >  CONFIG_NO_HZ_FULL=n
> > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE10 b/tools/testing/selftests/rcutorture/configs/rcu/TREE10
> > > index 420632b030dc4..b2ce37861e71a 100644
> > > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE10
> > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE10
> > > @@ -6,6 +6,7 @@ CONFIG_PREEMPT_VOLUNTARY=n
> > >  CONFIG_PREEMPT=n
> > >  CONFIG_PREEMPT_DYNAMIC=n
> > >  #CHECK#CONFIG_TREE_RCU=y
> > > +CONFIG_PREEMPT_RCU=n
> > >  CONFIG_HZ_PERIODIC=n
> > >  CONFIG_NO_HZ_IDLE=y
> > >  CONFIG_NO_HZ_FULL=n
> > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL b/tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL
> > > index 5d546efa68e83..696fba9968c60 100644
> > > --- a/tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL
> > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL
> > > @@ -1,6 +1,8 @@
> > >  CONFIG_SMP=y
> > >  CONFIG_NR_CPUS=8
> > > -CONFIG_PREEMPT_NONE=y
> > > +CONFIG_PREEMPT_DYNAMIC=n
> > > +CONFIG_PREEMPT_LAZY=y
> > > +CONFIG_PREEMPT_NONE=n
> > >  CONFIG_PREEMPT_VOLUNTARY=n
> > >  CONFIG_PREEMPT=n
> > >  CONFIG_HZ_PERIODIC=n
> > > 
> 

  reply	other threads:[~2026-03-05 19:59 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-03 23:58 [PATCH 0/4] rcu: Fix lazy-preemption regression in torture-test suites Paul E. McKenney
2026-03-03 23:59 ` [PATCH 1/4] rcutorture: Update due to x86 not supporting none/voluntary preemption Paul E. McKenney
2026-03-04 17:26   ` [PATCH v2 " Paul E. McKenney
2026-03-05  0:01     ` [PATCH v3 " Paul E. McKenney
2026-03-05 17:53       ` Joel Fernandes
2026-03-05 19:08         ` Paul E. McKenney
2026-03-05 18:22       ` Boqun Feng
2026-03-05 19:06         ` Paul E. McKenney
2026-03-05 19:59           ` Boqun Feng [this message]
2026-03-05 20:11             ` Paul E. McKenney
2026-03-05 21:08               ` Boqun Feng
2026-03-05 23:24                 ` Paul E. McKenney
2026-03-03 23:59 ` [PATCH 2/4] rcuscale: " Paul E. McKenney
2026-03-03 23:59 ` [PATCH 3/4] refscale: " Paul E. McKenney
2026-03-03 23:59 ` [PATCH 4/4] scftorture: " Paul E. McKenney
2026-03-05 21:29 ` [PATCH 0/4] rcu: Fix lazy-preemption regression in torture-test suites Boqun Feng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aangp2xaOayAC8dy@tardis.local \
    --to=boqun@kernel.org \
    --cc=kernel-team@meta.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulmck@kernel.org \
    --cc=rcu@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.