1
linux/net/mac80211
Helmut Schaa a5f69d94d8 mac80211: Get rid of search loop for rate group index
Finding the group index for a specific rate is done by looping through
all groups and returning if the correct one is found. This code is
called for each tx'ed frame and thus it makes sense to reduce its
runtime.

Do this by calculating the group index by this formula based on the SGI
and HT40 flags as well as the stream number:

idx = (HT40 * 2 * MINSTREL_MAX_STREAMS) +
      (SGI * MINSTREL_MAX_STREAMS) +
      (streams - 1)

Hence, the groups are ordered by th HT40 flag first, then by the SGI
flag and afterwards by the number of used streams.

This should reduce the runtime of minstrel_ht_get_group_idx
considerable.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Acked-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-11-17 15:43:57 -05:00
..
aes_ccm.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_ccm.h mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.h mac80211: fix CMAC races 2011-07-08 11:11:20 -04:00
agg-rx.c mac80211: allow frame aggregation for mesh 2011-11-08 15:55:27 -05:00
agg-tx.c mac80211: allow frame aggregation for mesh 2011-11-08 15:55:27 -05:00
cfg.c mac80211: fix warning in ieee80211_probe_client 2011-11-11 14:29:35 -05:00
cfg.h
chan.c
debugfs_key.c mac80211: fix CMAC races 2011-07-08 11:11:20 -04:00
debugfs_key.h
debugfs_netdev.c mac80211: add ieee80211_vif param to tsf functions 2011-09-27 14:27:48 -04:00
debugfs_netdev.h
debugfs_sta.c mac80211: add missing station flags to debugfs 2011-09-30 15:57:20 -04:00
debugfs_sta.h
debugfs.c net/mac80211/debugfs.c: use kstrtoul, etc 2011-11-09 16:14:10 -05:00
debugfs.h
driver-ops.h mac80211: verify virtual interfaces in driver API 2011-11-09 16:01:02 -05:00
driver-trace.c
driver-trace.h mac80211: allow out-of-band EOSP notification 2011-09-30 15:57:23 -04:00
event.c
ht.c mac80211: allow frame aggregation for mesh 2011-11-08 15:55:27 -05:00
ibss.c mac80211: set carrier_on for ibss vifs only while joined 2011-11-11 12:32:49 -05:00
ieee80211_i.h mac80211: Save probe response data for bss 2011-11-11 12:32:51 -05:00
iface.c mac80211: Save probe response data for bss 2011-11-11 12:32:51 -05:00
Kconfig mac80211: handle TDLS high-level commands and frames 2011-09-30 15:57:07 -04:00
key.c mac80211: support adding IV-room in the skb for CCMP keys 2011-11-08 15:54:27 -05:00
key.h mac80211: allow driver to disconnect after resume 2011-07-13 14:49:43 -04:00
led.c
led.h
main.c mac80211: implement wifi TX status 2011-11-09 16:14:09 -05:00
Makefile
mesh_hwmp.c mac80211: simplify mesh frame queue mapping and QoS 2011-11-09 16:05:48 -05:00
mesh_pathtbl.c mac80211: simplify mesh frame queue mapping and QoS 2011-11-09 16:05:48 -05:00
mesh_plink.c mac80211: set HT capabilities for mesh peer 2011-11-08 15:54:33 -05:00
mesh.c mac80211: set HT capabilities for mesh peer 2011-11-08 15:54:33 -05:00
mesh.h mac80211: Avoid filling up mesh preq queue with redundant requests 2011-11-09 16:01:02 -05:00
michael.c
michael.h
mlme.c mac80211: handle HT PHY BSS membership selector value correctly 2011-11-09 16:00:59 -05:00
offchannel.c
pm.c mac80211: verify virtual interfaces in driver API 2011-11-09 16:01:02 -05:00
rate.c mac80211: Send nullfunc frames at lower rate during connection monitor 2011-10-03 15:22:32 -04:00
rate.h
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht_debugfs.c
rc80211_minstrel_ht.c mac80211: Get rid of search loop for rate group index 2011-11-17 15:43:57 -05:00
rc80211_minstrel_ht.h
rc80211_minstrel.c minstrel: Remove unused function parameter in calc_rate_durations() 2011-11-11 12:32:52 -05:00
rc80211_minstrel.h minstrel_ht: fixed rate mode through debugfs 2011-06-01 15:12:29 -04:00
rc80211_pid_algo.c
rc80211_pid_debugfs.c
rc80211_pid.h
rx.c mac80211: send unexpected 4addr event 2011-11-09 16:13:53 -05:00
scan.c mac80211: simplify scan state machine 2011-11-11 12:32:49 -05:00
spectmgmt.c mac80211: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
sta_info.c mac80211: uAPSD - fix IEEE80211_FCTL_MOREDATA bit setting 2011-11-07 13:19:15 -05:00
sta_info.h mac80211: send unexpected 4addr event 2011-11-09 16:13:53 -05:00
status.c mac80211: implement wifi TX status 2011-11-09 16:14:09 -05:00
tkip.c mac80211: allow driver access to TKIP RX P1K 2011-07-15 13:38:32 -04:00
tkip.h mac80211: fix TKIP races, make API easier to use 2011-07-08 11:11:19 -04:00
tx.c mac80211: remove crypto special case for auth frames 2011-11-17 15:43:56 -05:00
util.c mac80211: Save probe response data for bss 2011-11-11 12:32:51 -05:00
wep.c
wep.h
wme.c mac80211: simplify mesh frame queue mapping and QoS 2011-11-09 16:05:48 -05:00
wme.h mac80211: Mesh data frames must have the QoS header 2011-09-14 13:56:50 -04:00
work.c mac80211: simplify ieee80211_work_work 2011-11-09 16:01:01 -05:00
wpa.c mac80211: make sure hw_key exists before checking its flags 2011-11-11 12:32:51 -05:00
wpa.h