linux/drivers/net/wireless/iwlwifi
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
..
iwl-1000.c iwlagn: clean up TX aggregation code 2011-03-25 06:57:30 -07:00
iwl-2000.c iwlagn: clean up TX aggregation code 2011-03-25 06:57:30 -07:00
iwl-5000-hw.h
iwl-5000.c iwlagn: clean up TX aggregation code 2011-03-25 06:57:30 -07:00
iwl-6000-hw.h
iwl-6000.c iwlagn: clean up TX aggregation code 2011-03-25 06:57:30 -07:00
iwl-agn-calib.c iwlwifi: introduce iwl_bt_statistics 2011-01-28 15:46:25 -05:00
iwl-agn-calib.h
iwl-agn-debugfs.c iwlwifi: introduce iwl_bt_statistics 2011-01-28 15:46:25 -05:00
iwl-agn-debugfs.h
iwl-agn-eeprom.c iwlwifi: don't read sku information from EEPROM for 4965 2011-01-21 15:05:57 -05:00
iwl-agn-hcmd.c iwlwifi: replace minimum slot time constant 2011-01-21 15:51:08 -08:00
iwl-agn-hw.h
iwl-agn-ict.c wireless: comment typo fix diable -> disable. 2011-01-03 16:05:53 +01:00
iwl-agn-led.c iwlwifi: use mac80211 throughput trigger 2011-01-21 15:26:39 -08:00
iwl-agn-led.h iwlwifi: use mac80211 throughput trigger 2011-01-21 15:26:39 -08:00
iwl-agn-lib.c iwlagn: support off-channel TX 2011-03-11 14:15:55 -05:00
iwl-agn-rs.c iwlwifi: limit number of attempts for highest HT rate 2011-03-25 06:57:50 -07:00
iwl-agn-rs.h iwl3945: do not use agn specific IWL_RATE_COUNT 2011-01-31 15:06:21 -05:00
iwl-agn-rxon.c iwlagn: fix iwlagn_check_needed_chains 2011-02-25 15:33:39 -05:00
iwl-agn-sta.c iwlagn: fix non-5000+ build 2010-11-15 13:26:43 -05:00
iwl-agn-tt.c
iwl-agn-tt.h
iwl-agn-tx.c iwlagn: fix aggregation queue scheduler setup 2011-03-25 06:57:40 -07:00
iwl-agn-ucode.c iwlwifi: check ucode loading error and restart 2011-01-31 13:17:28 -08:00
iwl-agn.c iwlagn: fix aggregation queue scheduler setup 2011-03-25 06:57:40 -07:00
iwl-agn.h iwlagn: fix aggregation queue scheduler setup 2011-03-25 06:57:40 -07:00
iwl-commands.h iwlagn: support off-channel TX 2011-03-11 14:15:55 -05:00
iwl-core.c iwlwifi: move rx handlers code to iwl-rx.c 2011-03-04 14:06:50 -05:00
iwl-core.h iwlagn: clean up TX aggregation code 2011-03-25 06:57:30 -07:00
iwl-csr.h iwlagn: add IQ inversion support for 2000 series devices 2011-01-31 13:17:53 -08:00
iwl-debug.h iwlwifi: add new EEPROM debug log type 2010-12-13 15:52:39 -08:00
iwl-debugfs.c iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
iwl-dev.h iwlagn: fix aggregation queue scheduler setup 2011-03-25 06:57:40 -07:00
iwl-devtrace.c
iwl-devtrace.h
iwl-eeprom.c iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
iwl-eeprom.h iwlagn: add 2000 series EEPROM version 2011-01-21 15:28:55 -08:00
iwl-fh.h
iwl-hcmd.c iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
iwl-helpers.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2011-01-05 14:35:41 -05:00
iwl-io.h
iwl-led.c iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
iwl-led.h iwlwifi: use mac80211 throughput trigger 2011-01-21 15:26:39 -08:00
iwl-power.c iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
iwl-power.h iwlwifi: defer update power mode while scan 2010-11-15 13:24:28 -05:00
iwl-prph.h iwlwifi: do not reload fw if WiMAX own the RF 2010-12-13 15:53:24 -08:00
iwl-rx.c iwlwifi: fix iwl-rx.c compilation 2011-03-07 13:51:04 -05:00
iwl-scan.c iwlagn: support off-channel TX 2011-03-11 14:15:55 -05:00
iwl-spectrum.h
iwl-sta.c iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
iwl-sta.h iwlagn: reprogram AP STA after assoc 2010-11-16 07:46:35 -08:00
iwl-tx.c iwlwifi: fix dma mappings and skbs leak 2011-02-28 14:06:56 -05:00
Kconfig iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
Makefile iwlwifi: move remaining iwl-agn-rx.c code into iwl-rx.c 2011-02-28 14:11:36 -05:00