Re: [PATCH net v2] lan743x: fix rx_napi_poll/interrupt ping-pong

From: Heiner Kallweit
Date: Fri Dec 11 2020 - 07:52:30 EST


Am 11.12.2020 um 13:43 schrieb Sven Van Asbroeck:
> Hi Heiner,
>
> On Thu, Dec 10, 2020 at 2:32 AM Heiner Kallweit <hkallweit1@xxxxxxxxx> wrote:
>>
>>
>> In addition you could play with sysfs attributes
>> /sys/class/net/<if>/gro_flush_timeout
>> /sys/class/net/<if>/napi_defer_hard_irqs
>
> Interesting, I will look into that.
>
I run a 1Gbit chip with gro_flush_timeout = 20000 and napi_defer_hard_irqs = 1.
This helped to reduce interrupt load significantly under iperf3
(w/o interrupt coalescing at chip level)

>>> @@ -2407,7 +2409,7 @@ static int lan743x_rx_open(struct lan743x_rx *rx)
>>>
>>> netif_napi_add(adapter->netdev,
>>> &rx->napi, lan743x_rx_napi_poll,
>>> - rx->ring_size - 1);
>>> + 64);
>>
>> This value isn't completely arbitrary.
>> Better use constant NAPI_POLL_WEIGHT.
>>
>
> Thank you, I will change it in the next patch version.
>