• Jose Abreu's avatar
    net: stmmac: Fix NAPI poll in TX path when in multi-queue · 4ccb4585
    Jose Abreu authored
    Commit 8fce3331 introduced the concept of NAPI per-channel and
    independent cleaning of TX path.
    
    This is currently breaking performance in some cases. The scenario
    happens when all packets are being received in Queue 0 but the TX is
    performed in Queue != 0.
    
    Fix this by using different NAPI instances per each TX and RX queue, as
    suggested by Florian.
    
    Changes from v2:
    	- Only force restart transmission if there are pending packets
    Changes from v1:
    	- Pass entire ring size to TX clean path (Florian)
    Signed-off-by: default avatarJose Abreu <joabreu@synopsys.com>
    Cc: Florian Fainelli <f.fainelli@gmail.com>
    Cc: Joao Pinto <jpinto@synopsys.com>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
    Cc: Alexandre Torgue <alexandre.torgue@st.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4ccb4585
stmmac_main.c 127 KB