linux/drivers/net
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
..
appletalk
arcnet
bonding bonding: use l4 hash if available 2015-09-17 21:01:05 -07:00
caif net: caif: convert to using IFF_NO_QUEUE 2015-08-18 11:55:07 -07:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-08-27 21:45:31 -07:00
cris
dsa net: dsa: mv88e6xxx: remove all MACs when disabling a port 2015-09-15 12:04:22 -07:00
ethernet net: bcmgenet: Implement RX coalescing control knobs 2015-09-17 22:17:14 -07:00
fddi net/fddi: remove HWM_REVERSE() macro 2015-08-13 21:12:17 -07:00
fjes fjes: ethtool support 2015-08-24 14:06:37 -07:00
hamradio Merge branch 'x86/urgent' into x86/asm to fix up conflicts and to pick up fixes 2015-08-18 09:39:47 +02:00
hippi
hyperv flow_dissector: Add flags argument to skb_flow_dissector functions 2015-09-01 15:06:22 -07:00
ieee802154 cc2520: set the default fifo pin value from platform data 2015-08-11 06:13:39 +02:00
ipvlan net: ipvlan: convert to using IFF_NO_QUEUE 2015-08-18 11:55:06 -07:00
irda
phy add microchip LAN88xx phy driver 2015-09-09 17:19:14 -07:00
plip
ppp ppp: implement x-netns support 2015-08-25 14:11:20 -07:00
slip
team net: team: convert to using IFF_NO_QUEUE 2015-08-18 11:55:05 -07:00
usb lan78xx: Remove not defined MAC_CR_GMII_EN_ bit from MAC_CR. 2015-09-17 22:15:37 -07:00
vmxnet3
wan net: wan: sbni: fix device usage count 2015-09-05 17:32:53 -07:00
wimax
wireless ath10k: optimize ce_lock on post rx buffer processing 2015-10-09 11:35:47 +03:00
xen-netback xen: MFN/GFN/BFN terminology changes for 4.3-rc0 2015-09-10 16:21:11 -07:00
dummy.c net: dummy: convert to using IFF_NO_QUEUE 2015-08-18 11:55:05 -07:00
eql.c
geneve.c ip-tunnel: Use API to access tunnel metadata options. 2015-08-31 12:28:56 -07:00
ifb.c
Kconfig geneve: Consolidate Geneve functionality in single module. 2015-08-27 15:42:48 -07:00
LICENSE.SRC
loopback.c net: loopback: convert to using IFF_NO_QUEUE 2015-08-18 11:55:05 -07:00
macvlan.c macvlan: Don't segment multiple tagged packets on macvlan device 2015-08-03 14:24:49 -07:00
macvtap.c macvtap: fix network header pointer for VLAN tagged pkts 2015-07-27 14:49:54 -07:00
Makefile fjes: Introduce FUJITSU Extended Socket Network Device driver 2015-08-24 14:06:33 -07:00
mdio.c
mii.c
netconsole.c
nlmon.c net: nlmon: convert to using IFF_NO_QUEUE 2015-08-18 11:55:05 -07:00
ntb_netdev.c NTB: ntb_netdev not covering all receive errors 2015-08-09 16:32:21 -04:00
rionet.c bus: subsys: update return type of ->remove_dev() to void 2015-08-05 17:08:14 -07:00
sb1000.c
Space.c
sungem_phy.c
tun.c tuntap: Don't segment multiple tagged packets on tap device 2015-08-03 14:24:50 -07:00
veth.c net: veth: enable noqueue operation by default 2015-08-18 11:55:04 -07:00
virtio_net.c virtio-net: avoid unnecessary sg initialzation 2015-08-27 15:51:45 -07:00
vrf.c netfilter: Pass net into okfn 2015-09-17 17:18:37 -07:00
vxlan.c vxlan: Refactor vxlan_udp_encap_recv() to kill compiler warning 2015-09-06 19:48:03 -07:00
xen-netfront.c xen: MFN/GFN/BFN terminology changes for 4.3-rc0 2015-09-10 16:21:11 -07:00