mac80211: allow DMA optimisation
If we have a lot of frames to transmit at once, for instance with fragmentation, it can be an optimisation to only tell the DMA engine about them on the last fragment/frame to avoid banging the IO too much. This patch allows implementation such an optimisation by telling the driver when more frames can be expected. Currently, this is used by mac80211 only on fragmented frames, but could also be used in the future on other frames when the queue was full and there are multiple frames pending. Note that drivers need to be careful when using this flag, they need to kick their DMA engines not just when this flag is clear, but also when the queue gets full so that progress can be made. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
ab5b5342fd
commit
ad5351db89
@@ -1154,6 +1154,9 @@ static int __ieee80211_tx(struct ieee80211_local *local,
|
||||
next = skb->next;
|
||||
len = skb->len;
|
||||
|
||||
if (next)
|
||||
info->flags |= IEEE80211_TX_CTL_MORE_FRAMES;
|
||||
|
||||
sdata = vif_to_sdata(info->control.vif);
|
||||
|
||||
switch (sdata->vif.type) {
|
||||
|
Reference in New Issue
Block a user