linux/net/mac80211
Thomas Huehn 2ff2b690c5 mac80211: improve minstrels rate sorting by means of throughput & probability
This patch improves the way minstrel sorts rates according to throughput
and success probability. 3 FOR-loops across the entire rate set in function
minstrel_update_stats() which where used to determine the fastest, second
fastest and most robust rate are reduced to 1 FOR-loop.

The sorted list of rates according throughput is extended to the best four
rates as we need them in upcoming joint rate and power control. The sorting
is done via the new function minstrel_sort_best_tp_rates().

The most robust rate selection is aligned with minstrel_ht's approach.
Once any success probability is above 95% the one with the highest
throughput is chosen as most robust rate. If success probabilities of all
rates are below 95%, the rate with the highest succ. prob. is elected as
most robust one

Acked-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Thomas Huehn <thomas@net.t-labs.tu-berlin.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-03-06 16:36:10 +01:00
..
aes_ccm.c
aes_ccm.h
aes_cmac.c mac80211: include export.h in aes_cmac 2012-11-07 18:01:54 +01:00
aes_cmac.h
agg-rx.c mac80211: improve aggregation debug messages 2013-01-18 21:55:15 +01:00
agg-tx.c mac80211: fix aggregation state with current drivers 2013-01-24 15:43:51 +01:00
cfg.c mac80211: flush keys when stopping AP 2013-03-06 16:36:00 +01:00
cfg.h
chan.c mac80211: add ieee80211_vif_change_bandwidth 2013-02-15 09:41:36 +01:00
debug.h mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs_key.c mac80211: add debug file for mic failure 2012-12-05 09:44:41 +01:00
debugfs_key.h
debugfs_netdev.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs_netdev.h
debugfs_sta.c mac80211: add VHT capabilities station debugfs file 2013-03-06 16:36:04 +01:00
debugfs_sta.h
debugfs.c mac80211: remove IEEE80211_HW_SCAN_WHILE_IDLE 2013-02-11 18:45:01 +01:00
debugfs.h mac80211: use __printf attribute in debugfs 2012-10-18 09:01:57 +02:00
driver-ops.h mac80211: Allow drivers to differentiate between ROC types 2013-03-06 16:35:49 +01:00
event.c
ht.c mac80211: fix HT capability overrides for AP station 2013-03-06 16:36:02 +01:00
ibss.c mac80211: cleanup suspend/resume on ibss mode 2013-03-06 16:35:57 +01:00
ieee80211_i.h mac80211: defer tailroom counter manipulation when roaming 2013-03-06 16:36:00 +01:00
iface.c mac80211: simplify AP interface stop 2013-03-06 16:36:01 +01:00
Kconfig Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
key.c mac80211: defer tailroom counter manipulation when roaming 2013-03-06 16:36:00 +01:00
key.h mac80211: defer tailroom counter manipulation when roaming 2013-03-06 16:36:00 +01:00
led.c leds: Rename led_brightness_set() to led_set_brightness() 2012-07-24 07:52:34 +08:00
led.h
main.c mac80211: remove napi 2013-03-06 16:35:54 +01:00
Makefile mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh_hwmp.c mac80211: clean up mesh code 2013-02-15 15:46:37 +01:00
mesh_pathtbl.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
mesh_plink.c mac80211: cleanup suspend/resume on mesh mode 2013-03-06 16:35:58 +01:00
mesh_ps.c mac80211: consolidate MBSS change notification 2013-02-15 09:41:09 +01:00
mesh_sync.c mac80211: clean up mesh code 2013-02-15 15:46:37 +01:00
mesh.c mac80211: cleanup suspend/resume on mesh mode 2013-03-06 16:35:58 +01:00
mesh.h mac80211: cleanup suspend/resume on mesh mode 2013-03-06 16:35:58 +01:00
michael.c
michael.h
mlme.c mac80211: cleanup suspend/resume on managed mode 2013-03-06 16:35:56 +01:00
offchannel.c mac80211: Allow drivers to differentiate between ROC types 2013-03-06 16:35:49 +01:00
pm.c mac80211: cleanup generic suspend/resume procedures 2013-03-06 16:35:56 +01:00
rate.c mac80211: convert to channel definition struct 2012-11-26 12:42:59 +01:00
rate.h mac80211: track number of spatial streams 2013-02-15 09:41:31 +01:00
rc80211_minstrel_debugfs.c mac80211: improve minstrels rate sorting by means of throughput & probability 2013-03-06 16:36:10 +01:00
rc80211_minstrel_ht_debugfs.c mac80211/minstrel_ht: add support for using CCK rates 2013-02-13 10:56:33 +01:00
rc80211_minstrel_ht.c mac80211: add lowest rate into minstrel's random rate sampling table 2013-03-06 16:36:09 +01:00
rc80211_minstrel_ht.h mac80211: merge value scaling macros of minstrel_ht and minstrel 2013-03-06 16:36:07 +01:00
rc80211_minstrel.c mac80211: improve minstrels rate sorting by means of throughput & probability 2013-03-06 16:36:10 +01:00
rc80211_minstrel.h mac80211: improve minstrels rate sorting by means of throughput & probability 2013-03-06 16:36:10 +01:00
rc80211_pid_algo.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
rc80211_pid_debugfs.c
rc80211_pid.h
rx.c wireless: move sequence number arithmetic to ieee80211.h 2013-03-06 16:35:44 +01:00
scan.c mac80211: add radar detection command/event 2013-02-15 09:41:04 +01:00
spectmgmt.c
sta_info.c mac80211: defer tailroom counter manipulation when roaming 2013-03-06 16:36:00 +01:00
sta_info.h mac80211: cleanup suspend/resume on mesh mode 2013-03-06 16:35:58 +01:00
status.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
tkip.c mac80211: use spin_lock_bh() for TKIP lock 2013-02-15 09:41:13 +01:00
tkip.h
trace.c mac80211: trace debug messages 2012-06-24 11:33:18 +02:00
trace.h mac80211: Allow drivers to differentiate between ROC types 2013-03-06 16:35:49 +01:00
tx.c Merge remote-tracking branch 'mac80211/master' into HEAD 2013-03-06 16:33:12 +01:00
util.c mac80211: merge reconfig assign chanctx code 2013-03-06 16:35:58 +01:00
vht.c mac80211: restrict peer's VHT capabilities to own 2013-03-06 16:36:03 +01:00
wep.c mac80211: fix network header location when adding encryption headers 2012-05-16 12:47:43 -04:00
wep.h mac80211: move RX WEP weak IV counting 2012-03-13 14:54:16 -04:00
wme.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
wme.h mac80211: save wmm_acm per sdata 2012-06-20 17:35:22 +02:00
wpa.c mac80211: use spin_lock_bh() for TKIP lock 2013-02-15 09:41:13 +01:00
wpa.h mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00