linux/drivers/net/wireless/ath/ath10k
Rajkumar Manoharan 18f53fe0f3 ath10k: fix throughput regression in multi client mode
commit 7a0adc83f3 ("ath10k: improve tx scheduling") is causing
severe throughput drop in multi client mode. This issue is originally
reported in veriwave setup with 50 clients with TCP downlink traffic.
While increasing number of clients, the average throughput drops
gradually. With 50 clients, the combined peak throughput is decreased
to 98 Mbps whereas reverting given commit restored it to 550 Mbps.

Processing txqs for every tx completion is causing overhead. Ideally for
management frame tx completion, pending txqs processing can be avoided.
The change partly reverts the commit "ath10k: improve tx scheduling".
Processing pending txqs after all skbs tx completion will yeild enough
room to burst tx frames.

Fixes: 7a0adc83f3 ("ath10k: improve tx scheduling")
Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2016-09-09 15:07:11 +03:00
..
ahb.c ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
ahb.h ath10k: expose hif ops for ahb 2016-01-28 10:47:28 +02:00
bmi.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
bmi.h ath10k: select board data based on BMI chip id and board id 2015-10-14 08:58:35 +03:00
ce.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
ce.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
core.c ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
core.h ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
debug.c ath10k: Added support for extended dbglog module id for 10.4 2016-09-02 18:55:55 +03:00
debug.h ath10k: add support for ath10k_sta_statistics support 2016-07-08 09:37:47 +03:00
debugfs_sta.c ath10k: remove debugfs support for Per STA total rx duration 2016-07-08 09:37:51 +03:00
hif.h ath10k: add board data download from target 2016-06-07 14:28:35 +03:00
htc.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
htc.h ath10k: remove unused <linux/semaphore.h> 2016-07-08 09:43:59 +03:00
htt_rx.c ath10k: fix throughput regression in multi client mode 2016-09-09 15:07:11 +03:00
htt_tx.c ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
htt.c ath10k: move htt_op_version to struct ath10k_fw_file 2016-04-20 20:00:27 +03:00
htt.h ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
hw.c ath10k: fix possible wrong rx_busy time reporting in QCA4019 2016-07-08 17:06:01 +03:00
hw.h ath10k: enable support for QCA9888 2016-07-08 09:50:45 +03:00
Kconfig ath10k: add reset ctrl related functions in ahb 2016-01-28 10:47:24 +02:00
mac.c ath10k: fix spelling mistake "montior" -> "monitor" 2016-09-02 19:01:43 +03:00
mac.h ath10k: add dynamic tx mode switch config support for qca4019 2016-04-19 18:10:46 +03:00
Makefile ath10k: add basic skeleton to support ahb 2016-01-28 10:47:19 +02:00
p2p.c ath10k: implement handling of p2p noa event 2015-03-07 09:57:42 +02:00
p2p.h ath10k: implement handling of p2p noa event 2015-03-07 09:57:42 +02:00
pci.c ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
pci.h ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
rx_desc.h ath10k: remove duplicate and unused rx rate flags 2016-06-14 14:56:00 +03:00
spectral.c ath10k: fix some typo in spectral code commments 2016-06-30 14:04:52 +03:00
spectral.h ath10k: refactor phyerr event handlers 2015-08-17 17:43:29 +03:00
swap.c ath10k: move firmware_swap_code_seg_info to ath10k_fw_file 2016-08-31 10:18:37 +03:00
swap.h ath10k: move firmware_swap_code_seg_info to ath10k_fw_file 2016-08-31 10:18:37 +03:00
targaddrs.h ath10k: add QCA9887 chipset support 2016-06-07 14:28:31 +03:00
testmode_i.h
testmode.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
testmode.h
thermal.c ath10k: replace config_enabled() with IS_REACHABLE() 2016-09-02 18:57:06 +03:00
thermal.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
trace.c
trace.h ath10k: add hw_rev to trace events to support pktlog 2016-03-03 19:20:00 +02:00
txrx.c ath10k: fix throughput regression in multi client mode 2016-09-09 15:07:11 +03:00
txrx.h ath10k: move mgmt descriptor limit handle under mgmt_tx 2016-03-18 09:52:27 +02:00
wmi-ops.h ath10k: Added support for extended dbglog module id for 10.4 2016-09-02 18:55:55 +03:00
wmi-tlv.c ath10k: Added support for extended dbglog module id for 10.4 2016-09-02 18:55:55 +03:00
wmi-tlv.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
wmi.c ath10k: Added support for extended dbglog module id for 10.4 2016-09-02 18:55:55 +03:00
wmi.h ath10k: Added support for extended dbglog module id for 10.4 2016-09-02 18:55:55 +03:00
wow.c ath10k: move fw_features to struct ath10k_fw_file 2016-04-20 20:00:25 +03:00
wow.h ath10k: add WOW patterns support 2015-03-30 09:10:24 +03:00