On 26.02.25 16:37, Johannes Berg wrote:
On Thu, 2025-02-20 at 11:44 +0100, Alexander Wetzel wrote:
This series switches all TX handling in mac80211 over to TXQs.
I really wanted to apply this, but looks like it's nowhere near ready.
There were a number of compiler and sparse warnings, which I mostly
fixed, but also testing with hostap/hwsim tests blows up completely,
e.g.:
========================================================
WARNING: possible irq lock inversion dependency detected
6.13.0-rc7-01678-g0d8fd15558f7 #110 Not tainted
--------------------------------------------------------
mac80211-phy0/114 just changed the state of lock:
000000006c784f08 (_xmit_ETHER#2){+.-.}-{3:3}, at: __dev_queue_xmit+0xb0c/0xc83
but this lock took another, SOFTIRQ-unsafe lock in the past:
(&local->active_txq_lock[i]){+.+.}-{3:3}
and interrupts could create inverse lock ordering between them.
other info that might help us debug this:
Possible interrupt unsafe locking scenario:
CPU0 CPU1
---- ----
lock(&local->active_txq_lock[i]);
local_irq_disable();
lock(_xmit_ETHER#2);
lock(&local->active_txq_lock[i]);
<Interrupt>
lock(_xmit_ETHER#2);
*** DEADLOCK ***
which actually seems to happen as a deadlock, since my tests are no
longer making progress at some point.
I checked the hostapd tests with the series, it was working for me...
But besides the kernel the rest on my testvm is roughly two years old,
including hostapd. AND my attempt to try the patches on my openwrt
router on the weekend also deadlocked after some minutes. I suspected a
porting issue so far, but with that I better start looking elsewhere.
I'll try to reproduce that. Are there some instructions somewhere to get
a comparable testsetup to the one you are using?
Alexander