linux_dsm_epyc7002/drivers/net/wireless/ath/ath10k
Rajkumar Manoharan ab4e3db043 ath10k: optimize ce_lock on post rx buffer processing
After processing received packets from copy engine, host will allocate
new buffer and queue them back to copy engine ring for further
packet reception. On post rx processing path, skb allocation and
dma mapping are unnecessarily handled within ce_lock. This is affecting
peak throughput and also causing more CPU consumption. Optimize this
by acquiring ce_lock only when accessing copy engine ring and moving
skb allocation out of ce_lock.

In AP148 platform with QCA99x0 in conducted environment, UDP uplink peak
throughput is improved from ~1320 Mbps to ~1450 Mbps and TCP uplink peak
throughput is increased from ~1240 Mbps (70% host CPU load) to ~1300 Mbps
(71% CPU load). Similarly ~40Mbps improvement is observed in downlink
path.

Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-10-09 11:35:47 +03:00
..
bmi.c ath10k: improve logging to include dev id 2014-08-26 19:04:48 +03:00
bmi.h ath10k: Fix BMI communication timeout for QCA99X0 2015-06-30 15:12:46 +03:00
ce.c ath10k: optimize ce_lock on post rx buffer processing 2015-10-09 11:35:47 +03:00
ce.h ath10k: Extend CE src desc flags for interrupt indication 2015-06-30 15:12:44 +03:00
core.c ath10k: fix whitespace usage 2015-10-06 14:41:05 +03:00
core.h ath10k: implement debugfs interface for Transmit Power Control stats 2015-10-06 14:42:59 +03:00
debug.c ath10k: implement debugfs interface for Transmit Power Control stats 2015-10-06 14:42:59 +03:00
debug.h ath10k: implement debugfs interface for Transmit Power Control stats 2015-10-06 14:42:59 +03:00
debugfs_sta.c ath10k: add support to send delba 2015-01-13 16:13:47 +02:00
hif.h ath10k: remove transfer_id from ath10k_hif_cb::tx_completion 2014-12-01 09:13:36 +02:00
htc.c ath10k: fix dma_mapping_error() handling 2015-08-26 11:04:44 +03:00
htc.h ath10k: fix use of multiple blank lines 2014-09-18 10:45:20 +03:00
htt_rx.c ath10k: print invalid mcs reported in rx descriptor 2015-09-09 12:45:00 +03:00
htt_tx.c ath10k: use pre-allocated DMA buffer in Tx 2015-10-06 15:04:12 +03:00
htt.c ath10k: enable raw encap mode and software crypto engine 2015-07-29 11:28:24 +03:00
htt.h ath10k: use pre-allocated DMA buffer in Tx 2015-10-06 15:04:12 +03:00
hw.c ath10k: add cycle/rx_clear counters frequency to hw_params 2015-08-17 16:46:21 +03:00
hw.h ath10k: fix MSI-X registering for qca99x0 2015-09-27 15:57:38 +03:00
Kconfig ath10k: ATH10K_DEBUGFS depends on DEBUG_FS 2014-09-10 14:17:45 +03:00
mac.c ath10k: split an unnecessary long line 2015-10-06 14:41:12 +03:00
mac.h ath10k: fix per-vif queue locking 2015-07-11 19:06:26 +03:00
Makefile ath10k: Add support for code swap 2015-06-30 15:12:47 +03: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: optimize ce_lock on post rx buffer processing 2015-10-09 11:35:47 +03:00
pci.h ath10k: increase pci wakeup timeout to 30 ms 2015-10-09 11:33:50 +03:00
rx_desc.h ath10k: add support for qca99x0 Rx descriptors 2015-07-24 10:44:55 +03:00
spectral.c ath10k: add spectral scan support for 10.4 fw 2015-08-26 11:09:12 +03:00
spectral.h ath10k: refactor phyerr event handlers 2015-08-17 17:43:29 +03:00
swap.c ath10k: Add support for code swap 2015-06-30 15:12:47 +03:00
swap.h ath10k: Add support for code swap 2015-06-30 15:12:47 +03:00
targaddrs.h ath10k: Add hw register/values for QCA99X0 chip 2015-06-30 15:12:37 +03:00
testmode_i.h ath10k: add testmode 2014-09-11 23:42:36 +03:00
testmode.c ath10k: introduce wmi ops 2014-12-08 17:39:08 +02:00
testmode.h ath10k: add testmode 2014-09-11 23:42:36 +03:00
thermal.c ath10k: don't call quiet mode if it's not implemented 2015-04-01 20:21:17 +03:00
thermal.h ath10k: configure thermal throttle while powering up 2015-03-23 17:16:37 +02:00
trace.c
trace.h ath10k: add extra check for frame tracing 2015-04-17 09:33:48 +03:00
txrx.c ath10k: use pre-allocated DMA buffer in Tx 2015-10-06 15:04:12 +03:00
txrx.h ath10k: fix Rx aggregation reordering 2014-07-25 11:15:39 +03:00
wmi-ops.h ath10k: implement debugfs interface for Transmit Power Control stats 2015-10-06 14:42:59 +03:00
wmi-tlv.c ath10k: refactor phyerr event handlers 2015-08-17 17:43:29 +03:00
wmi-tlv.h ath10k: implement tx pause wmi event 2015-04-01 20:31:08 +03:00
wmi.c ath10k: use Rx decap mode configured when driver registered 2015-10-06 14:44:19 +03:00
wmi.h ath10k: implement debugfs interface for Transmit Power Control stats 2015-10-06 14:42:59 +03:00
wow.c ath10k: fix hw reconfig on wow failure 2015-08-13 14:22:49 +03:00
wow.h ath10k: add WOW patterns support 2015-03-30 09:10:24 +03:00