linux/drivers/net/wireless
Daniel Halperin 374920cb05 iwlwifi: limit number of attempts for highest HT rate
When filling out its rate scale table, iwlwifi repeats the first HT rate
IWL_HT_NUMBER_TRY times. The hardware scheduler will stop using
aggregation for any frame that fails LINK_QUAL_AGG_DISABLE_START_DEF
times. Currently, both these constants equal 3.

If iwlwifi probes a faster rate than the link supports, all frames in a
(potentially tens of frames large) batch will fail IWL_HT_NUMBER_TRY
times. Because this happens to be as large as
LINK_QUAL_AGG_DISABLE_START_DEF, all frames will then be sent
individually. This leads to a short, but performance-degrading window
where the legacy stop-and-wait MAC takes over.

Bounding the initial rate by (LINK_QUAL_AGG_DISABLE_START_DEF-1)
attempts makes the third try use a lower rate and hence more be likely
to succeed. This somewhat mitigates the above described behavior.

Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
2011-03-25 06:57:50 -07:00
..
ath ath9k: fix aggregation related interoperability issues 2011-03-14 14:46:59 -04:00
b43 b43: trivial: update B43_PHY_N description (PHY support) 2011-03-07 13:51:04 -05:00
b43legacy mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
hostap hostap_cs: fix sleeping function called from invalid context 2011-01-10 15:40:53 -05:00
ipw2x00 ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition 2011-03-09 16:10:56 -05:00
iwlegacy iwlegacy: fix dma mappings and skbs leak 2011-02-28 14:06:56 -05:00
iwlwifi iwlwifi: limit number of attempts for highest HT rate 2011-03-25 06:57:50 -07:00
iwmc3200wifi Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2011-01-28 16:23:14 -05:00
libertas libertas: fix write past end of array in mesh_id_get() 2011-03-11 14:15:36 -05:00
libertas_tf mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
orinoco orinoco: Drop scan results with unknown channels 2011-02-25 15:33:38 -05:00
p54 p54spi: Update kconfig help text 2011-03-07 13:51:04 -05:00
prism54
rt2x00 rt2x00: Remove unused rt2x00queue_get_queue function. 2011-03-04 14:06:49 -05:00
rtl818x rtl8187: Change rate-control feedback 2011-03-04 14:05:17 -05:00
rtlwifi rtlwifi: usb parts should depend on CONFIG_USB 2011-03-04 14:05:16 -05:00
wl12xx ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition 2011-03-09 16:10:56 -05:00
wl1251 wl1251: fix elp_work race condition 2011-03-11 14:15:35 -05:00
zd1211rw mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
adm8211.c mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
adm8211.h
airo_cs.c
airo.c airo: use simple_write_to_buffer 2011-01-04 14:35:12 -05:00
airo.h
at76c50x-usb.c at76c50x-usb: fix warning caused by at76_mac80211_tx now returning void 2011-02-28 13:57:30 -05:00
at76c50x-usb.h ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition 2011-03-09 16:10:56 -05:00
atmel_cs.c
atmel_pci.c
atmel.c atmel: Use static const 2010-11-22 15:58:46 -05:00
atmel.h
Kconfig iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
mac80211_hwsim.c mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
Makefile rtlwifi: Fix build when RTL8192CU is selected, but RTL8192CE is not 2011-02-23 16:25:30 -05:00
mwl8k.c mwl8k: use kcalloc instead of kmalloc & memset 2011-03-09 16:10:45 -05:00
ray_cs.c wireless: ray_cs: use '%pm' format option to print MAC 2010-12-02 15:17:00 -05:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: add support for set_power_mgmt 2010-12-22 15:43:31 -05:00
wl3501_cs.c
wl3501.h
zd1201.c wireless: Remove unnecessary casts of usb_get_intfdata 2010-12-02 15:16:47 -05:00
zd1201.h