[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aAcixqijvHL2ihHS@xsang-OptiPlex-9020>
Date: Tue, 22 Apr 2025 13:01:58 +0800
From: Oliver Sang <oliver.sang@...el.com>
To: "Paul E. McKenney" <paulmck@...nel.org>
CC: <oe-lkp@...ts.linux.dev>, <lkp@...el.com>, Joel Fernandes
<joelagnelf@...dia.com>, <linux-kernel@...r.kernel.org>,
<oliver.sang@...el.com>
Subject: Re: [linux-next:master] [rcutorture] ddd062f753:
WARNING:at_kernel/rcu/rcutorture.c:#rcu_torture_updown[rcutorture]
hi, Paul,
On Mon, Apr 21, 2025 at 09:34:34AM -0700, Paul E. McKenney wrote:
> On Mon, Apr 21, 2025 at 03:39:41PM +0800, kernel test robot wrote:
> >
> >
> > Hello,
> >
> > kernel test robot noticed "WARNING:at_kernel/rcu/rcutorture.c:#rcu_torture_updown[rcutorture]" on:
> >
> > commit: ddd062f7536cc09fe7ff1a66816601984bc68af8 ("rcutorture: Complain if an ->up_read() is delayed more than 10 seconds")
> > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
> >
> > [test failed on linux-next/master f660850bc246fef15ba78c81f686860324396628]
> >
> > in testcase: rcutorture
> > version:
> > with following parameters:
> >
> > runtime: 300s
> > test: cpuhotplug
> > torture_type: srcud
> >
> >
> >
> > config: x86_64-randconfig-123-20250415
> > compiler: clang-20
> > test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
> >
> > (please refer to attached dmesg/kmsg for entire log/backtrace)
> >
> >
> > +-------------------------------------------------------------------------+------------+------------+
> > | | 1b983c34d5 | ddd062f753 |
> > +-------------------------------------------------------------------------+------------+------------+
> > | WARNING:at_kernel/rcu/rcutorture.c:#rcu_torture_updown[rcutorture] | 0 | 24 |
> > | RIP:rcu_torture_updown[rcutorture] | 0 | 24 |
> > +-------------------------------------------------------------------------+------------+------------+
> >
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <oliver.sang@...el.com>
> > | Closes: https://lore.kernel.org/oe-lkp/202504211513.23f21a0-lkp@intel.com
> >
> >
> > The kernel config and materials to reproduce are available at:
> > https://download.01.org/0day-ci/archive/20250421/202504211513.23f21a0-lkp@intel.com
>
> Good catch, and thank you for your testing efforts!
>
> Does the patch at the end of this email help?
sorry but the patch does not help. one dmesg is attached.
[ 107.907141][ T690] ------------[ cut here ]------------
[ 107.907879][ T690] WARNING: CPU: 1 PID: 690 at kernel/rcu/rcutorture.c:2551 rcu_torture_updown+0xe7/0x440 [rcutorture]
[ 107.909122][ T690] Modules linked in: rcutorture torture
[ 107.909866][ T690] CPU: 1 UID: 0 PID: 690 Comm: rcu_torture_upd Not tainted 6.15.0-rc1-00009-g1539a7e7b61a #1 NONE 80728dbb8fc06cc6d40cbe8225bf0332ec562ffc
[ 107.911393][ T690] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 107.912576][ T690] RIP: 0010:rcu_torture_updown+0xe7/0x440 [rcutorture]
[ 107.913397][ T690] Code: 83 c7 48 48 89 f8 48 c1 e8 03 42 80 3c 20 00 74 05 e8 fd 1b 49 e1 4b 8b 44 35 48 4c 29 f8 48 05 e8 03 00 00 0f 89 83 01 00 00 <0f> 0b e9 7c 01 00 00 48 89 14 24 4f 8d 3c 2e 49 83 c7 60 4b 8d 34
[ 107.915455][ T690] RSP: 0000:ffff88814faffe58 EFLAGS: 00010286
[ 107.916177][ T690] RAX: ffffffffffffffff RBX: 1ffff11029f5d0e6 RCX: 0000000000000000
[ 107.917147][ T690] RDX: ffff88814fae8730 RSI: 0000000000000000 RDI: ffff88814fae8738
[ 107.918090][ T690] RBP: 1ffffffff0e82240 R08: 0000000000000000 R09: 0000000000000000
[ 107.919037][ T690] R10: 0000000000000000 R11: 0000000000000000 R12: dffffc0000000000
[ 107.919951][ T690] R13: ffff88814fae8000 R14: 00000000000006f0 R15: 00000000ffffb465
[ 107.920887][ T690] FS: 0000000000000000(0000) GS:ffff888424d90000(0000) knlGS:0000000000000000
[ 107.921860][ T690] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 107.922580][ T690] CR2: 0000000000000000 CR3: 00000000074c7000 CR4: 00000000000406f0
[ 107.923440][ T690] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 107.924399][ T690] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 107.930033][ T690] Call Trace:
[ 107.931026][ T690] <TASK>
[ 107.932020][ T690] kthread+0x4b7/0x5e0
[ 107.933172][ T690] ? rcu_torture_updown_hrt+0x60/0x60 [rcutorture c962c7aca4575a73724d201f7e88cd5b0e155a86]
[ 107.935470][ T690] ? kthread_unuse_mm+0x150/0x150
[ 107.936721][ T690] ret_from_fork+0x3c/0x70
[ 107.937838][ T690] ? kthread_unuse_mm+0x150/0x150
[ 107.939068][ T690] ret_from_fork_asm+0x11/0x20
[ 107.939985][ T690] </TASK>
[ 107.940827][ T690] irq event stamp: 83209
[ 107.941950][ T690] hardirqs last enabled at (83219): [<ffffffff815a4e82>] __console_unlock+0x72/0x80
[ 107.944134][ T690] hardirqs last disabled at (83228): [<ffffffff815a4e67>] __console_unlock+0x57/0x80
[ 107.946289][ T690] softirqs last enabled at (83174): [<ffffffff8148ecce>] handle_softirqs+0x5de/0x6e0
[ 107.948395][ T690] softirqs last disabled at (83169): [<ffffffff8148ef41>] __irq_exit_rcu+0x61/0xc0
[ 107.950232][ T690] ---[ end trace 0000000000000000 ]---
>
> Thanx, Paul
>
> > [ 147.544571][ T727] ------------[ cut here ]------------
> > [ 147.545372][ T727] WARNING: CPU: 0 PID: 727 at kernel/rcu/rcutorture.c:2549 rcu_torture_updown+0xe0/0x430 [rcutorture]
> > [ 147.546643][ T727] Modules linked in: rcutorture torture
> > [ 147.547462][ T727] CPU: 0 UID: 0 PID: 727 Comm: rcu_torture_upd Not tainted 6.15.0-rc1-00008-gddd062f7536c #1 NONE 0a926b04a3771ed2623ec5d12c96d338a637f034
> > [ 147.549036][ T727] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > [ 147.550241][ T727] RIP: 0010:rcu_torture_updown+0xe0/0x430 [rcutorture]
> > [ 147.551128][ T727] Code: 00 00 48 01 c3 48 8b 44 24 10 42 80 3c 20 00 74 0c 48 c7 c7 00 12 41 87 e8 fd 1b 49 e1 48 3b 1d a6 58 e0 e6 0f 89 84 01 00 00 <0f> 0b e9 7d 01 00 00 4c 89 7c 24 08 4f 8d 3c 2e 49 83 c7 60 4b 8d
> > [ 147.553366][ T727] RSP: 0000:ffff888150ebfe60 EFLAGS: 00210297
> > [ 147.554154][ T727] RAX: 1ffffffff0e82240 RBX: 00000000ffffc39e RCX: 0000000000000000
> > [ 147.555179][ T727] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888150eb3450
> > [ 147.572489][ T727] RBP: ffff888150eb6bd8 R08: 0000000000000000 R09: 0000000000000000
> > [ 147.573518][ T727] R10: 0000000000000000 R11: 0000000000000000 R12: dffffc0000000000
> > [ 147.574582][ T727] R13: ffff888150eb0000 R14: 0000000000003408 R15: ffff888150eb3448
> > [ 147.577955][ T727] FS: 0000000000000000(0000) GS:ffff888424c90000(0000) knlGS:0000000000000000
> > [ 147.579066][ T727] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [ 147.579850][ T727] CR2: 00000000f729a000 CR3: 000000014d67f000 CR4: 00000000000406f0
> > [ 147.580851][ T727] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > [ 147.581887][ T727] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> > [ 147.582799][ T727] Call Trace:
> > [ 147.583264][ T727] <TASK>
> > [ 147.583703][ T727] kthread+0x4b7/0x5e0
> > [ 147.584257][ T727] ? rcu_torture_updown_hrt+0x60/0x60 [rcutorture 02ecf78e8bf32d7a769b787a1e354f19e873c8f2]
> > [ 147.591263][ T727] ? kthread_unuse_mm+0x150/0x150
> > [ 147.591978][ T727] ret_from_fork+0x3c/0x70
> > [ 147.592545][ T727] ? kthread_unuse_mm+0x150/0x150
> > [ 147.593167][ T727] ret_from_fork_asm+0x11/0x20
> > [ 147.593805][ T727] </TASK>
> > [ 147.594276][ T727] irq event stamp: 340637
> > [ 147.597624][ T727] hardirqs last enabled at (340653): [<ffffffff815a4e82>] __console_unlock+0x72/0x80
> > [ 147.598763][ T727] hardirqs last disabled at (340662): [<ffffffff815a4e67>] __console_unlock+0x57/0x80
> > [ 147.599920][ T727] softirqs last enabled at (340578): [<ffffffff8148ecce>] handle_softirqs+0x5de/0x6e0
> > [ 147.601075][ T727] softirqs last disabled at (340569): [<ffffffff8148ef41>] __irq_exit_rcu+0x61/0xc0
> > [ 147.602178][ T727] ---[ end trace 0000000000000000 ]---
> >
> >
> > --
> > 0-DAY CI Kernel Test Service
> > https://github.com/intel/lkp-tests/wiki
>
> diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
> index 3dd213bfc6662..53f0860b3748d 100644
> --- a/kernel/rcu/rcutorture.c
> +++ b/kernel/rcu/rcutorture.c
> @@ -2557,6 +2557,7 @@ static void rcu_torture_updown_one(struct rcu_torture_one_read_state_updown *rto
> static int
> rcu_torture_updown(void *arg)
> {
> + unsigned long j;
> struct rcu_torture_one_read_state_updown *rtorsup;
>
> VERBOSE_TOROUT_STRING("rcu_torture_updown task started");
> @@ -2564,8 +2565,9 @@ rcu_torture_updown(void *arg)
> for (rtorsup = updownreaders; rtorsup < &updownreaders[n_up_down]; rtorsup++) {
> if (torture_must_stop())
> break;
> + j = smp_load_acquire(&jiffies); // Time before ->rtorsu_inuse.
> if (smp_load_acquire(&rtorsup->rtorsu_inuse)) {
> - WARN_ON_ONCE(time_after(jiffies, rtorsup->rtorsu_j + 10 * HZ));
> + WARN_ON_ONCE(time_after(j, rtorsup->rtorsu_j + 10 * HZ));
> continue;
> }
> rcu_torture_updown_one(rtorsup);
Download attachment "dmesg.xz" of type "application/x-xz" (32172 bytes)
Powered by blists - more mailing lists