aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ath9k.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-12-16 18:57:00 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-20 14:49:48 -0500
commit4b3ba66a47311770b21e7aba481f4f2a90ba3084 (patch)
treec4dc1302ff9c641cfcd6173232bcbe925a64abce /drivers/net/wireless/ath/ath9k/ath9k.h
parent5c405b5c3e435fd332058c59ee58eaa1ac9c513a (diff)
ath9k: fix queue depth check for forming new aggregates
To improve aggregation length, there should not be more than two fully formed A-MPDU frames in the hardware queue. To ensure this, the code checks the tx queue length before forming new A-MPDUs. This can reduce the throughput (or maybe even starve out A-MPDU traffic) when too many non-aggregated frames are in the queue. Fix this by keeping track of pending A-MPDU frames (even when they're sent out as single frames), but exclude rate control probing frames to improve performance. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r--drivers/net/wireless/ath/ath9k/ath9k.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h
index b0b1216dae0..9fd95191eeb 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -189,6 +189,7 @@ struct ath_txq {
189 struct list_head axq_q; 189 struct list_head axq_q;
190 spinlock_t axq_lock; 190 spinlock_t axq_lock;
191 u32 axq_depth; 191 u32 axq_depth;
192 u32 axq_ampdu_depth;
192 bool stopped; 193 bool stopped;
193 bool axq_tx_inprogress; 194 bool axq_tx_inprogress;
194 struct list_head axq_acq; 195 struct list_head axq_acq;