linux/drivers/net/wireless
Emmanuel Grumbach 6f2f019495 iwlwifi: mvm: avoid unnecessary cache trashing in Tx path
When sending a Tx Command with a Tx packet, we allocate the
Tx command separately from the payload of the packet.
The WiFi MAC header is then copied into the buffer that was
allocated for the Tx Command. This means that this buffer
needs to be big enough to contain both. This is why it is
allocated with iwl_trans_alloc_tx_cmd which returns a
pointer to a newly allocated not zeroed struct
iwl_device_cmd.

The Tx command has a few bit fields and hence it needs to
be zeroed, but all the rest of the buffer doesn't need to
be zeroed since it will either be memcopy'ed with the MAC
header, or not even sent to the device.
This means that we don't need to zero all the
iwl_device_cmd structure, but rather only the size of
the iwl_tx_cmd structure.

Since sizeof(iwl_tx_cmd) - sizeof(iwl_tx_cmd) is about
260 bytes, this can avoid touching 4 cache lines for each
packet.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-06-23 00:12:59 +03:00
..
admtek wireless: Set NL80211_EXT_FEATURE_CQM_RSSI_LIST in multiple drivers 2017-03-06 09:21:39 +01:00
ath Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2017-06-22 16:29:52 +03:00
atmel My last pull request has been a while, we now have: 2017-04-20 13:54:40 -04:00
broadcom brcmfmac: initialize oob irq data before request_irq() 2017-06-21 18:30:59 +03:00
cisco Annotate hardware config module parameters in drivers/net/wireless/ 2017-04-20 12:02:32 +01:00
intel iwlwifi: mvm: avoid unnecessary cache trashing in Tx path 2017-06-23 00:12:59 +03:00
intersil p54: allocate enough space for ->used_rxkeys 2017-05-22 18:30:09 +03:00
marvell mwifiex: debugfs: remove redunant check of mwifiex_dfs_dir 2017-06-21 18:25:47 +03:00
mediatek Another set of patches for -next: 2017-04-28 14:41:15 -04:00
quantenna qtnfmac: check band before allocating cmd_skb to avoid resource leak 2017-06-13 10:01:36 +03:00
ralink rt2x00: Add device ID for Epson WN7512BEP 2017-05-24 16:47:54 +03:00
realtek rtlwifi: btcoexist control to enter/leave LPS 2017-06-21 18:28:07 +03:00
rsi rsi: add tx frame for common device configuration 2017-06-21 18:26:27 +03:00
st mac80211: separate encoding/bandwidth from flags 2017-04-28 10:41:45 +02:00
ti wlcore: spi: remove unnecessary variable 2017-06-13 10:06:22 +03:00
zydas My last pull request has been a while, we now have: 2017-04-20 13:54:40 -04:00
Kconfig qtnfmac: introduce new FullMAC driver for Quantenna chipsets 2017-05-24 17:04:13 +03:00
mac80211_hwsim.c mac80211: properly remove RX_ENC_FLAG_40MHZ 2017-05-08 11:11:56 +02:00
mac80211_hwsim.h mac80211_hwsim: fix command documentation indentation 2017-03-06 09:21:48 +01:00
Makefile qtnfmac: introduce new FullMAC driver for Quantenna chipsets 2017-05-24 17:04:13 +03:00
ray_cs.c ray_cs: Avoid reading past end of buffer 2017-05-22 18:27:22 +03:00
ray_cs.h
rayctl.h
rndis_wlan.c Another set of patches for -next: 2017-04-28 14:41:15 -04:00
wl3501_cs.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
wl3501.h