OSDN Git Service

net: stmmac: Always use TX coalesce timer value when rescheduling
authorJose Abreu <Jose.Abreu@synopsys.com>
Wed, 18 Dec 2019 10:24:45 +0000 (11:24 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Dec 2019 20:14:08 +0000 (12:14 -0800)
When we have pending packets we re-arm the TX timer with a magic value.

This changes the re-arm of the timer from 10us to the user-defined
coalesce value. As we support different speeds, having a magic value of
10us can be either too short or to large depending on the speed so we
let user configure it. The default value of the timer is 1ms but it can
be reconfigured by ethtool.

Changes from v1:
- Reword commit message (Jakub)

Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index d1a22c4..ecb89c6 100644 (file)
@@ -1975,7 +1975,7 @@ static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue)
 
        /* We still have pending packets, let's call for a new scheduling */
        if (tx_q->dirty_tx != tx_q->cur_tx)
-               mod_timer(&tx_q->txtimer, STMMAC_COAL_TIMER(10));
+               mod_timer(&tx_q->txtimer, STMMAC_COAL_TIMER(priv->tx_coal_timer));
 
        __netif_tx_unlock_bh(netdev_get_tx_queue(priv->dev, queue));