On Tue, 15 Sep 2026 03:13:33 +0800, wen.yang@linux.dev wrote:
From: Wen Yang <redacted>
We occasionally hit a lockdep "Invalid wait context" warning when
a reactor callback is preempted by a timer interrupt.
On interrupt exit the scheduler takes rq->__lock (LD_WAIT_SPIN) while
rv_react() still holds its wait-type-override map, which declared
LD_WAIT_FREE. On any kernel where the task context has preemption
enabled (not just CONFIG_PREEMPT_RT) this triggers a spurious lockdep
report:
[...]
Applied to my tree, thanks!
[1/4] rv/reactors: use LD_WAIT_SPIN as the reactor lockdep wait type
commit: 16249b9b6be1f05e7d4116459a527ee681d2ff9f
[2/4] rv/reactors: propagate rv_register_reactor() error from reactor init
commit: 7439018693dd41b6578a4a036cb463e1388b7ab0
[3/4] rv/reactors: export rv_register_reactor() and rv_unregister_reactor()
commit: 1863477db0cdad202049ce66b1a0036a87fe16dc
[4/4] rv/reactors: add KUnit tests for reactor registration and dispatch
commit: 8b8129a31089b2430a77debea97772bb2402779f
Best regards,
--
Gabriele Monaco [off-list ref]