On Tue, 7 May 2024 02:42:58 +0200 Erhard Furtner wrote: > And indeed without gem_poll_controller() I don't hit the "WARNING: CPU: 1 > PID: 1 at net/core/netpoll.c:370 netpoll_send_skb+0x1fc/0x20c" and "WARNING: > CPU: 1 PID: 1 at kernel/locking/irqflag-debug.c:10 > warn_bogus_irq_restore+0x30/0x44" or the according lockdep bug at boot! > > Re-booted the machine about 20 times without anything suspicious showing up > in the dmesg. With the unpatched kernel I got the WARNING at the 2nd reboot.
Excellent! Do you want to submit that as an official patch? The explanation is that we can't call disable_irq() from atomic context (which which netpoll runs). But the callback is no longer necessary as we can depend on NAPI to do the polling these days. > What I still get with 'modprobe -v dev_addr_lists_test', even with > gem_poll_controller() removed is: > > [...] > KTAP version 1 > 1..1 > KTAP version 1 > # Subtest: dev-addr-list-test > # module: dev_addr_lists_test > 1..6 > > ==================================== > WARNING: kunit_try_catch/1770 still has locks held! > 6.9.0-rc6-PMacG4-dirty #5 Tainted: G W N > ------------------------------------ > 1 lock held by kunit_try_catch/1770: > #0: c0dbfce4 (rtnl_mutex){....}-{3:3}, at: dev_addr_test_init+0xbc/0xc8 > [dev_addr_lists_test] I think that's fixed in net-next.