ath10k: Improve performance by reducing tx_lock contention
authorQi Zhou <qizhou@google.com>
Wed, 22 Jul 2015 20:38:24 +0000 (16:38 -0400)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 29 Jul 2015 08:27:24 +0000 (11:27 +0300)
commit005fb161310f72070ad5f4352d6b81ffaca8a11e
tree02d2756fd70810e72998007b9ffa732f294060c8
parent3413e97dbbae8561e01ac28ccb0d4bbe7ce933f4
ath10k: Improve performance by reducing tx_lock contention

During tx completion, tx_lock is held for longer than required, preventing
efficient refill of htt->pending_tx. Refactor the code so that only MSDU
related operations are protected by the lock.

Improves downstream performance on a dual-core ARM Freescale LS1024A
(f.k.a. Mindspeed Comcerto 2000) AP with a 3x3 client from 495 to 580 Mbps.
Other CPU bound multicore systems may also benefit.

Signed-off-by: Denton Gentry <dgentry@google.com>
Signed-off-by: Avery Pennarun <apenwarr@google.com>
[mfaltesek@google.com: removed conflicting code for tracking msdu_ids.]
Signed-off-by: Marty Faltesek <mfaltesek@google.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/htt_rx.c
drivers/net/wireless/ath/ath10k/htt_tx.c
drivers/net/wireless/ath/ath10k/txrx.c