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 13:08:47 -0800	[thread overview]
Message-ID: <aanw37BOGTlzx3AV@tardis.local> (raw)
In-Reply-To: <fc2186ef-f7f6-4a05-b442-95dbc9831884@paulmck-laptop>

On Thu, Mar 05, 2026 at 12:11:46PM -0800, Paul E. McKenney wrote:
> On Thu, Mar 05, 2026 at 11:59:35AM -0800, Boqun Feng wrote:
> > 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?
> 
> Right you are!
> 
> > > 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.
> 
> Like this?
> 
> $ git reset --hard v7.0-rc1
> $ git cherry-pick 17c52d7b31a1fbec84172d279b3ab0149bc71627
> Auto-merging tools/testing/selftests/rcutorture/configs/rcu/TINY01
> Auto-merging tools/testing/selftests/rcutorture/configs/rcu/TREE04
> Auto-merging tools/testing/selftests/rcutorture/configs/rcu/TREE05
> Auto-merging tools/testing/selftests/rcutorture/configs/rcu/TREE06

Yeah, the delta is small enough so that 3-way auto-merging can handle
it. I will just apply with these resolution. Thanks!

> [detached HEAD 551d9b94e2c80] rcutorture: Update due to x86 not supporting none/voluntary preemption
>  Date: Tue Mar 3 11:28:02 2026 -0800
>  12 files changed, 29 insertions(+), 13 deletions(-)
> $ git branch lazy-1
> $ git checkout v7.0-rc1
> Previous HEAD position was 551d9b94e2c80 rcutorture: Update due to x86 not supporting none/voluntary preemption
> HEAD is now at 6de23f81a5e08 Linux 7.0-rc1
> $ git cherry-pick c69ac56935401534120ef1e40335090b973a97d2
> [detached HEAD da3c99da7a639] rcutorture: Adjust scenarios for default lazy preemption
>  Date: Wed Jan 21 10:40:30 2026 -0800
>  5 files changed, 7 insertions(+)
> 1$ git cherry-pick 86126bc6d7ad5af56c0bf8beeac12f8feaffa866
> [detached HEAD 824577abfb3b0] rcutorture: Update due to x86 not supporting none/voluntary preemption
>  Date: Tue Mar 3 11:28:02 2026 -0800
>  11 files changed, 26 insertions(+), 17 deletions(-)
> $ git diff lazy-1
> 
> Still no diff output.  What am I missing?
> 

Not important right now, but if you do:

	git range-diff 'lazy-1^..lazy-1' '17c52d7b31a1^..17c52d7b31a1'

you will see if I applied your v3 onto v7.0-rc1, I wouldn't end up
having the exact changes as the v3 has (some auto resolution happened).

Regards,
Boqun

> 							Thanx, Paul
> 
> > 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 21:08 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
2026-03-05 20:11             ` Paul E. McKenney
2026-03-05 21:08               ` Boqun Feng [this message]
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=aanw37BOGTlzx3AV@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.