aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ath9k.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-12-17 00:57:00 +0100
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)
downloadkernel_samsung_smdk4412-4b3ba66a47311770b21e7aba481f4f2a90ba3084.zip
kernel_samsung_smdk4412-4b3ba66a47311770b21e7aba481f4f2a90ba3084.tar.gz
kernel_samsung_smdk4412-4b3ba66a47311770b21e7aba481f4f2a90ba3084.tar.bz2
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 b0b1216..9fd9519 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath/ath9k/ath9k.h
@@ -189,6 +189,7 @@ struct ath_txq {
struct list_head axq_q;
spinlock_t axq_lock;
u32 axq_depth;
+ u32 axq_ampdu_depth;
bool stopped;
bool axq_tx_inprogress;
struct list_head axq_acq;