• Daniel Halperin's avatar
    iwlwifi: limit number of attempts for highest HT rate · 374920cb
    Daniel Halperin authored
    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: default avatarDaniel Halperin <dhalperi@cs.washington.edu>
    Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
    374920cb
iwl-agn-rs.c 98.3 KB