From: Wen Yang <wen.yang@linux.dev>
To: Gabriele Monaco <gmonaco@redhat.com>
Cc: Nam Cao <namcao@linutronix.de>,
linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/3] rv/reactors: fix lockdep warning and add KUnit tests
Date: Sat, 20 Jun 2026 17:13:50 +0800 [thread overview]
Message-ID: <20d2c460-a13d-4763-ba42-53a790009e5f@linux.dev> (raw)
In-Reply-To: <2de882a2dcf09613580bcb2495e3b2495c58f661.camel@redhat.com>
On 6/18/26 23:35, Gabriele Monaco wrote:
> On Thu, 2026-06-18 at 01:11 +0800, Wen Yang wrote:
>> Thank you for your feedback.
>> I am using a WSL dev environment with 12 cores and 16GB. The config
>> of the tested kernel code is as follows:
>
> Uhm that's a strange one, I cannot get a machine like that..
> The closest is a 16 CPUs where I can limit the resources in vng.
>
I switched to a server with 32 cores and 126 GB mem, based on the
following code:
https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
8970865b788e
Then, using the above defconfig, and manually enabled:
CONFIG_RV_REACT_PRINTK_KUNIT=y
CONFIG_RV_REACT_PANIC_KUNIT=y
The issue can still be reproduced, as follows:
...
[ 2.467818] rtc_cmos PNP0B00:00: setting system clock to
2026-06-20T08:53:17 UTC (1781945597)
[ 2.467959] rtc_cmos PNP0B00:00: alarms up to one day, y3k, 242 bytes
nvram, hpet irqs
[ 2.468796] i6300ESB timer 0000:00:03.0: initialized. heartbeat=30
sec (nowayout=0)
[ 2.469135] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28)
initialised: dm-devel@lists.linux.dev
[ 2.471695] NET: Registered PF_PACKET protocol family
[ 2.471724] 9pnet: Installing 9P2000 support
[ 2.473143] Key type dns_resolver registered
[ 2.483567] IPI shorthand broadcast: enabled
[ 2.508735] sched_clock: Marking stable (2449003255,
59304729)->(2516047879, -7739895)
[ 2.510654] registered taskstats version 1
[ 2.511333] Loading compiled-in X.509 certificates
[ 2.535612] Demotion targets for Node 0: null
[ 2.536818] netconsole: network logging started
[ 2.537105] clk: Disabling unused clocks
[ 2.537129] ALSA device list:
[ 2.537132] No soundcards found.
[ 2.537133] KTAP version 1
[ 2.537134] 1..2
[ 2.538768] KTAP version 1
[ 2.538769] # Subtest: rv_reactor_printk
[ 2.538770] # module: reactor_printk_kunit
[ 2.538771] 1..5
[ 2.539198] ok 1 test_printk_register_unregister
[ 2.539278] printk violation message
[ 2.539309]
[ 2.539309] =============================
[ 2.539310] [ BUG: Invalid wait context ]
[ 2.539310] 7.1.0-rc5-virtme #15 Tainted: G N
[ 2.539311] -----------------------------
[ 2.539311] kunit_try_catch/420 is trying to lock:
[ 2.539312] ffff8e347e93e1a0 (&rq->__lock){-...}-{2:2}, at:
__schedule+0xf5/0x1390
[ 2.539317] other info that might help us debug this:
[ 2.539317] context-{5:5}
[ 2.539317] 1 lock held by kunit_try_catch/420:
[ 2.539318] #0: ffffffffb9d8c3e0
(rv_react_map-wait-type-override){+.+.}-{1:1}, at: rv_react+0x56/0xd0
[ 2.539321] stack backtrace:
[ 2.539322] CPU: 22 UID: 0 PID: 420 Comm: kunit_try_catch Tainted: G
N 7.1.0-rc5-virtme #15 PREEMPT_{RT,(full)}
[ 2.539323] Tainted: [N]=TEST
[ 2.539324] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS 1.15.0-1 04/01/2014
[ 2.539324] Call Trace:
[ 2.539325] <TASK>
[ 2.539326] dump_stack_lvl+0x82/0xd0
[ 2.539328] __lock_acquire+0xabc/0x27e0
[ 2.539330] ? desc_read_finalized_seq+0x2e/0x90
[ 2.539333] lock_acquire+0xd5/0x320
[ 2.539334] ? __schedule+0xf5/0x1390
[ 2.539336] _raw_spin_lock_nested+0x39/0x50
[ 2.539338] ? __schedule+0xf5/0x1390
[ 2.539339] __schedule+0xf5/0x1390
[ 2.539341] ? mark_held_locks+0x49/0x80
[ 2.539342] preempt_schedule_irq+0x37/0x70
[ 2.539343] irqentry_exit+0x1c5/0x750
[ 2.539344] ? rcu_is_watching+0x11/0x50
[ 2.539346] ? trace_hardirqs_off_finish+0xac/0xd0
[ 2.539348] asm_sysvec_apic_timer_interrupt+0x1a/0x20
[ 2.539349] RIP: 0010:mock_printk_react+0x2a/0x50
[ 2.539351] Code: f3 0f 1e fa 0f 1f 44 00 00 41 54 49 89 f4 55 48 89
fd 53 e8 c8 a2 dd ff 4c 89 e6 48 89 ef 48 89 c3 e8 ba 21 ee ff eb 02 f3
90 <e8> b1 a2 dd ff 48 29 d8 48 3d 3f 4b 4c 00 76 ee 5b 5d 41 5c c3 cc
[ 2.539352] RSP: 0000:ffffd26a80ebfd48 EFLAGS: 00000297
[ 2.539353] RAX: 0000000000005a6c RBX: 0000000097d06aed RCX:
000000000000001f
[ 2.539354] RDX: 0000000000000000 RSI: 00000000282920b2 RDI:
fffffffff2cc40ea
[ 2.539354] RBP: ffffffffb9aac37e R08: 0000000000000002 R09:
0000000000000000
[ 2.539355] R10: 0000000000000001 R11: 0000000000000000 R12:
ffffd26a80ebfd70
[ 2.539355] R13: ffffffffb8a6a366 R14: ffffffffb8e49e70 R15:
ffffd26a80013be8
[ 2.539355] ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[ 2.539357] ? rv_react+0x56/0xd0
[ 2.539360] ? mock_printk_react+0x2f/0x50
[ 2.539362] rv_react+0x9c/0xd0
[ 2.539363] ? rv_react+0x56/0xd0
[ 2.539365] test_printk_react_called+0x83/0xb0
[ 2.539367] ? __pfx_mock_printk_react+0x10/0x10
[ 2.539368] ? __pfx_mock_printk_react+0x10/0x10
[ 2.539370] kunit_try_run_case+0x74/0x160
[ 2.539372] ? lockdep_hardirqs_on+0xc1/0x140
[ 2.539373] ? _raw_spin_unlock_irqrestore+0x46/0x80
[ 2.539375] ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[ 2.539375] kunit_generic_run_threadfn_adapter+0x21/0x40
[ 2.539376] kthread+0x126/0x170
[ 2.539378] ? __pfx_kthread+0x10/0x10
[ 2.539378] ret_from_fork+0x22b/0x310
[ 2.539380] ? __pfx_kthread+0x10/0x10
[ 2.539381] ret_from_fork_asm+0x1a/0x30
[ 2.539384] </TASK>
[ 2.544290] kunit_try_catch (420) used greatest stack depth: 12920
bytes left
[ 2.544542] ok 2 test_printk_react_called
[ 2.544768] Reactor test_printk is already registered
[ 2.544819] ok 3 test_printk_double_register
[ 2.544953] ok 4 test_printk_register_cycle
[ 2.545121] ok 5 test_printk_react_not_null
[ 2.545121] # rv_reactor_printk: pass:5 fail:0 skip:0 total:5
[ 2.545122] # Totals: pass:5 fail:0 skip:0 total:5
[ 2.545123] ok 1 rv_reactor_printk
[ 2.545123] KTAP version 1
[ 2.545123] # Subtest: rv_reactor_panic
[ 2.545124] # module: reactor_panic_kunit
[ 2.545124] 1..2
[ 2.545284] ok 1 test_panic_register_unregister
[ 2.545337] KUnit: reactor_panic test intercepted panic notifier:
panic violation message
[ 2.547624] ok 2 test_panic_notifier_called
[ 2.547624] # rv_reactor_panic: pass:2 fail:0 skip:0 total:2
[ 2.547625] # Totals: pass:2 fail:0 skip:0 total:2
[ 2.547625] ok 2 rv_reactor_panic
[ 2.612894] ata2: found unknown device (class 0)
[ 2.616059] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[ 2.621249] kobject: 'devlink' (0000000023b6b59a):
kobject_add_internal: parent: 'virtual', set: '(null)'
[ 2.621380] kobject: ':ata2--scsi:1:0:0:0' (0000000079538692):
kobject_add_internal: parent: 'devlink', set: 'devices'
[ 2.621467] kobject: ':ata2--scsi:1:0:0:0' (0000000079538692):
kobject_uevent_env
[ 2.621473] kobject: ':ata2--scsi:1:0:0:0' (0000000079538692):
fill_kobj_path: path = '/devices/virtual/devlink/:ata2--scsi:1:0:0:0'
[ 2.624159] scsi 1:0:0:0: CD-ROM QEMU QEMU DVD-ROM
2.5+ PQ: 0 ANSI: 5
[ 2.637661] kobject: 'target1:0:0' (00000000e7e99ebc):
kobject_add_internal: parent: 'host1', set: 'devices'
...
The above warning appears in the middle of the screen output, not at the
end, because kunit is built-in and is executed before the init starts.
In addition, there is another issue at the very end: warning: WARNING:
kernel/exit.c:902 at do_exit+0x9d8/0xc60, CPU#0: virtme-ng-init/1)...
--
Best wishes,
Wen
prev parent reply other threads:[~2026-06-20 9:14 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-15 16:44 [PATCH 0/3] rv/reactors: fix lockdep warning and add KUnit tests wen.yang
2026-06-15 16:44 ` [PATCH 1/3] rv/reactors: fix lockdep "Invalid wait context" in rv_react() wen.yang
2026-06-17 11:12 ` Nam Cao
2026-06-17 15:58 ` Nam Cao
2026-06-15 16:44 ` [PATCH 2/3] rv/reactors: add KUnit tests for reactor_printk wen.yang
2026-06-15 16:44 ` [PATCH 3/3] rv/reactors: add KUnit tests for reactor_panic wen.yang
2026-06-20 23:30 ` XIAO WU
2026-06-21 3:34 ` Wen Yang
2026-06-17 15:41 ` [PATCH 0/3] rv/reactors: fix lockdep warning and add KUnit tests Gabriele Monaco
2026-06-17 15:52 ` Nam Cao
2026-06-17 16:14 ` Gabriele Monaco
2026-06-17 17:11 ` Wen Yang
2026-06-18 15:35 ` Gabriele Monaco
2026-06-20 9:13 ` Wen Yang [this message]
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=20d2c460-a13d-4763-ba42-53a790009e5f@linux.dev \
--to=wen.yang@linux.dev \
--cc=gmonaco@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=namcao@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox