linux/net/mac80211
Thomas Huehn f744bf81f7 mac80211: add lowest rate into minstrel's random rate sampling table
While minstrel bootstraps and fills the success probabilities of each
rate the lowest rate has typically a very high success probability
(often 100% in our tests).
Its statistics are never updated but considered to setup the mrr chain.
In our tests we see that especially the 3rd mrr stage (which is that
rate providing highest success probability) is filled with the lowest rate
because its initial high sucess probability is never updated. By design
the 4th mrr stage is filled with the lowest rate so often 3rd and 4th
mrr stage are equal.

This patch follows minstrels general approach of assuming as little
as possible about rate dependencies. Consequently we include the
lowest rate into the random sampling table to get balanced up-to-date
statistics of all rates and therefore balanced decisions.

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:09 +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: merge value scaling macros of minstrel_ht and minstrel 2013-03-06 16:36:07 +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: add lowest rate into minstrel's random rate sampling table 2013-03-06 16:36:09 +01:00
rc80211_minstrel.h mac80211: add lowest rate into minstrel's random rate sampling table 2013-03-06 16:36:09 +01:00
rc80211_pid_algo.c
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