• Stanislaw Gruszka's avatar
    rt2800usb: slow down TX status polling · f3170c7a
    Stanislaw Gruszka authored
    commit 36165fd5 upstream.
    
    Polling TX statuses too frequently has two negative effects. First is
    randomly peek CPU usage, causing overall system functioning delays.
    Second bad effect is that device is not able to fill TX statuses in
    H/W register on some workloads and we get lot of timeouts like below:
    
    ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
    ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
    ieee80211 phy4: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
    
    This not only cause flood of messages in dmesg, but also bad throughput,
    since rate scaling algorithm can not work optimally.
    
    In the future, we should probably make polling interval be adjusted
    automatically, but for now just increase values, this make mentioned
    problems gone.
    
    Resolve:
    https://bugzilla.kernel.org/show_bug.cgi?id=62781Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    f3170c7a
rt2800usb.c 38.1 KB