mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt76: only schedule txqs from the tx tasklet
Reduces lock contention from the tx path and improves performance Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
@@ -205,8 +205,6 @@ mt76_dma_tx_cleanup(struct mt76_dev *dev, enum mt76_txq_id qid, bool flush)
|
||||
|
||||
spin_unlock_bh(&q->lock);
|
||||
|
||||
if (!flush)
|
||||
mt76_txq_schedule(dev, qid);
|
||||
if (wake)
|
||||
ieee80211_wake_queue(dev->hw, qid);
|
||||
}
|
||||
|
||||
@@ -145,6 +145,8 @@ mt7603_tx_tasklet(unsigned long data)
|
||||
for (i = MT_TXQ_MCU; i >= 0; i--)
|
||||
mt76_queue_tx_cleanup(dev, i, false);
|
||||
|
||||
mt76_txq_schedule_all(&dev->mt76);
|
||||
|
||||
mt7603_irq_enable(dev, MT_INT_TX_DONE_ALL);
|
||||
}
|
||||
|
||||
|
||||
@@ -211,6 +211,9 @@ static void mt76x02_tx_tasklet(unsigned long data)
|
||||
mt76_queue_tx_cleanup(dev, i, false);
|
||||
|
||||
mt76x02_mac_poll_tx_status(dev, false);
|
||||
|
||||
mt76_txq_schedule_all(&dev->mt76);
|
||||
|
||||
mt76x02_irq_enable(dev, MT_INT_TX_DONE_ALL);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user