• Felix Fietkau's avatar
    mac80211: minstrel_ht: improve sample rate skip logic · 06171e9c
    Felix Fietkau authored
    There were a few issues that were slowing down the process of finding
    the optimal rate, especially on devices with multi-rate retry
    limitations:
    
    When max_tp_rate[0] was slower than max_tp_rate[1], the code did not
    sample max_tp_rate[1], which would often allow it to switch places with
    max_tp_rate[0] (e.g. if only the first sampling attempts were bad, but the
    rate is otherwise good).
    
    Also, sample attempts of rates between max_tp_rate[0] and [1] were being
    ignored in this case, because the code only checked if the rate was
    slower than [1].
    
    Fix this by checking against the fastest / second fastest max_tp_rate
    instead of assuming a specific order between the two.
    
    In my tests this patch significantly reduces the time until minstrel_ht
    finds the optimal rate right after assoc
    Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    06171e9c
rc80211_minstrel_ht.c 37.8 KB