Skip to content
  • Hiroaki SHIMODA's avatar
    e1000e: Change wthresh to 1 to avoid possible Tx stalls · 8edc0e62
    Hiroaki SHIMODA authored
    This patch originated from Hiroaki SHIMODA but has been modified
    by Intel with some minor cleanups and additional commit log text.
    
    Denys Fedoryshchenko and others reported Tx stalls on e1000e with
    BQL enabled.  Issue was root caused to hardware delays. They were
    introduced because some of the e1000e hardware with transmit
    writeback bursting enabled, waits until the driver does an
    explict flush OR there are WTHRESH descriptors to write back.
    
    Sometimes the delays in question were on the order of seconds,
    causing visible lag for ssh sessions and unacceptable tx
    completion latency, especially for BQL enabled kernels.
    
    To avoid possible Tx stalls, change WTHRESH back to 1.
    
    The current plan is to investigate a method for re-enabling
    WTHRESH while not harming BQL, but those patches will be later
    for net-next if they work.
    
    please enqueue for stable since v3.3 as this bug was introduced in
    commit 3f0cfa3b
    
    
    Author: Tom Herbert <therbert@google.com>
    Date:   Mon Nov 28 16:33:16 2011 +0000
    
        e1000e: Support for byte queue limits
    
        Changes to e1000e to use byte queue limits.
    
    Reported-by: default avatarDenys Fedoryshchenko <denys@visp.net.lb>
    Tested-by: default avatarDenys Fedoryshchenko <denys@visp.net.lb>
    Signed-off-by: default avatarHiroaki SHIMODA <shimoda.hiroaki@gmail.com>
    CC: eric.dumazet@gmail.com
    CC: therbert@google.com
    Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8edc0e62