diff options
author | Robert Stonehouse <rstonehouse@solarflare.com> | 2019-02-14 18:27:43 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-14 18:47:16 +0100 |
commit | 50f444aa50a4f3fab35a04f56d6bb83dc1e8c875 (patch) | |
tree | 327e50657842ed8c78f5629c23e1c4fd445f9cf9 /drivers/net/ethernet/sfc/efx.c | |
parent | net: adaptec: starfire: replace dev_kfree_skb_irq by dev_consume_skb_irq for ... (diff) | |
download | linux-50f444aa50a4f3fab35a04f56d6bb83dc1e8c875.tar.xz linux-50f444aa50a4f3fab35a04f56d6bb83dc1e8c875.zip |
sfc: ensure recovery after allocation failures
After failing to allocate a receive buffer the driver may fail to ever
request additional allocations. EF10 NICs require new receive buffers to
be pushed in batches of eight or more. The test for whether a slow fill
should be scheduled failed to take account of this. There is little
downside to *always* requesting a slow fill if we failed to allocate a
buffer, so the condition has been removed completely. The timer that
triggers the request for a refill has also been shortened.
Signed-off-by: Robert Stonehouse <rstonehouse@solarflare.com>
Signed-off-by: Bert Kenward <bkenward@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/sfc/efx.c')
-rw-r--r-- | drivers/net/ethernet/sfc/efx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c index 3643015a55cf..bc655ffc9e02 100644 --- a/drivers/net/ethernet/sfc/efx.c +++ b/drivers/net/ethernet/sfc/efx.c @@ -915,7 +915,7 @@ rollback: void efx_schedule_slow_fill(struct efx_rx_queue *rx_queue) { - mod_timer(&rx_queue->slow_fill, jiffies + msecs_to_jiffies(100)); + mod_timer(&rx_queue->slow_fill, jiffies + msecs_to_jiffies(10)); } static bool efx_default_channel_want_txqs(struct efx_channel *channel) |