Search Linux Wireless

Re: [PATCH RFC v4 0/4] Move TXQ scheduling into mac80211

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

 



On 2018-09-16 10:42, Toke Høiland-Jørgensen wrote:
Another update, addressing most of the concerns raised in the last round:

- Added schedule_start()/end() functions that adds locking around the
  whole scheduling operation, which means we can get rid of the 'first'
  parameter to ieee80211_next_txq().

Toke,

Wouldn't this start()/end() APIs cause deadlock if mac80211 tries to acquire
active_txq_lock[ac] again? Or am I missing?

schedule_start()
while (next_txq()) {
  push_txq -> tx_dequeue()
  return_txq()
}
schedule_end()

tx_dequeue()
 ieee80211_free_txskb
  -> ieee80211_report_used_skb
   -> ieee80211_tdls_td_tx_handle
    -> ieee80211_subif_start_xmit
    -> __ieee80211_subif_start_xmit
      -> ieee80211_xmit_fast
        -> ieee80211_queue_skb
         -> schedule_and_wake_txq

-Rajkumar



[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