diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-11-16 00:27:55 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-11-19 19:31:07 +0100 |
commit | 75769c80e381653994293b5aa5a8cfec50088f9f (patch) | |
tree | dc13428680bc0c10862153e53b17bcf0eb2b8aa9 /net/mac80211/rc80211_minstrel_ht.c | |
parent | f815e2b3c0126c26911cac72b837f03a31c0c2ed (diff) | |
download | talos-obmc-linux-75769c80e381653994293b5aa5a8cfec50088f9f.tar.gz talos-obmc-linux-75769c80e381653994293b5aa5a8cfec50088f9f.zip |
mac80211: minstrel_ht: add a small optimization to minstrel_aggr_check
Check the queue mapping earlier, skb->queue_mapping is more likely than
skb->data to still be in d-cache.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/rc80211_minstrel_ht.c')
-rw-r--r-- | net/mac80211/rc80211_minstrel_ht.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/rc80211_minstrel_ht.c b/net/mac80211/rc80211_minstrel_ht.c index c50fd94d2aef..62ff7cfb2723 100644 --- a/net/mac80211/rc80211_minstrel_ht.c +++ b/net/mac80211/rc80211_minstrel_ht.c @@ -690,6 +690,9 @@ minstrel_aggr_check(struct ieee80211_sta *pubsta, struct sk_buff *skb) struct sta_info *sta = container_of(pubsta, struct sta_info, sta); u16 tid; + if (skb_get_queue_mapping(skb) == IEEE80211_AC_VO) + return; + if (unlikely(!ieee80211_is_data_qos(hdr->frame_control))) return; @@ -700,9 +703,6 @@ minstrel_aggr_check(struct ieee80211_sta *pubsta, struct sk_buff *skb) if (likely(sta->ampdu_mlme.tid_tx[tid])) return; - if (skb_get_queue_mapping(skb) == IEEE80211_AC_VO) - return; - ieee80211_start_tx_ba_session(pubsta, tid, 5000); } |