[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5bd5e1b9c1fdf8c9a43a0d018a005eab@mikrotik.com>
Date: Thu, 08 Apr 2021 08:21:20 +0300
From: Gatis Peisenieks <gatis@...rotik.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: chris.snook@...il.com, davem@...emloft.net, kuba@...nel.org,
hkallweit1@...il.com, jesse.brandeburg@...el.com,
dchickles@...vell.com, tully@...rotik.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net v4] atl1c: move tx cleanup processing out of interrupt
On 2021-04-07 19:55, Eric Dumazet wrote:
> On 4/6/21 4:49 PM, Gatis Peisenieks wrote:
>> Tx queue cleanup happens in interrupt handler on same core as rx queue
>> processing. Both can take considerable amount of processing in high
>> packet-per-second scenarios.
>>
>> Sending big amounts of packets can stall the rx processing which is
>> unfair
>> and also can lead to out-of-memory condition since __dev_kfree_skb_irq
>> queues the skbs for later kfree in softirq which is not allowed to
>> happen
>> with heavy load in interrupt handler.
>>
>
> [ ... ]
>
>> diff --git a/net/core/dev.c b/net/core/dev.c
>> index 0f72ff5d34ba..489ac60b530c 100644
>> --- a/net/core/dev.c
>> +++ b/net/core/dev.c
>> @@ -6789,6 +6789,7 @@ int dev_set_threaded(struct net_device *dev,
>> bool threaded)
>>
>> return err;
>> }
>> +EXPORT_SYMBOL(dev_set_threaded);
>>
>> void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
>> int (*poll)(struct napi_struct *, int), int weight)
>
> This has already been done in net-next
>
> Please base your patch on top of net-next, this can not be backported
> to old
> versions anyway, without some amount of pain.
Thank you Eric, for heads up, the v5 patch sent for net-next in response
to
David Miller comment already does that.
Powered by blists - more mailing lists