Search Linux Wireless

Re: [PATCH v2 1/4] mac80211: call ieee80211_tx_h_rate_ctrl() when dequeue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2021-06-17 12:50, Felix Fietkau wrote:
> 
> On 2021-05-28 08:05, Ryder Lee wrote:
>> Make ieee80211_tx_h_rate_ctrl() get called on dequeue to improve
>> performance since it reduces the turnaround time for rate control.
>> 
>> Signed-off-by: Ryder Lee <ryder.lee@xxxxxxxxxxxx>
>> ---
>> change since v2 - roll ieee80211_tx_h_rate_ctrl checks into one condition
> There were some OpenWrt crash reported which appear to be related to
> this patch. I was able to reproduce a deadlock with ath9k, and I'm
> currently looking into it.
Some more information about the crash:
- ath9k calls ieee80211_tx_dequeue with the tx queue lock held
- ieee80211_tx_dequeue calls minstrel get_rate
- get_rate calls minstrel_aggr_check
- minstrel_aggr check calls ieee80211_start_tx_ba_session
- ieee80211_start_tx_ba_session tries to send a frame
- ath9k tries to acquire the tx lock it already holds

I've fixed this in v3 by moving the logic of minstrel_aggr_check into
mac80211

- Felix



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux