lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 30 Nov 2022 23:33:04 +0100
From:   Heiner Kallweit <hkallweit1@...il.com>
To:     Jakub Kicinski <kuba@...nel.org>
Cc:     David Miller <davem@...emloft.net>,
        Realtek linux nic maintainers <nic_swsd@...ltek.com>,
        Eric Dumazet <edumazet@...gle.com>,
        Paolo Abeni <pabeni@...hat.com>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next] r8169: enable GRO software interrupt coalescing
 per default

On 29.11.2022 04:07, Jakub Kicinski wrote:
> On Sat, 26 Nov 2022 15:07:07 +0100 Heiner Kallweit wrote:
>> There are reports about r8169 not reaching full line speed on certain
>> systems (e.g. SBC's) with a 2.5Gbps link.
>> There was a time when hardware interrupt coalescing was enabled per
>> default, but this was changed due to ASPM-related issues on few systems.
>>
>> Meanwhile we have sysfs attributes for controlling kind of
>> "software interrupt coalescing" on the GRO level. However most distros
>> and users don't know about it. So lets set a conservative default for
>> both involved parameters. Users can still override the defaults via
>> sysfs. Don't enable these settings on the fast ethernet chip versions,
>> they are slow enough.
>>
>> Even with these conservative setting interrupt load on my 1Gbps test
>> system reduced significantly.
> 
> Sure, why not. Could you please wrap the init into a helper?
> Should help us ensure the params are not wildly different between
> drivers and make any later refactoring easier.
> 
> Maybe something like:
> 
> /**
>  * netdev_sw_irq_coalesce_default_on() - enable SW IRQ coalescing by default
>  * @dev: netdev to enable the IRQ coalescing on
>  * bla bla bla
>  */
> int netdev_sw_irq_coalesce_default_on(struct net_device *dev)
> {
> 	WARN_ON(dev->reg_state != NETREG_UNREGISTERED);
> 
> 	dev->gro_flush_timeout = 20000;
> 	dev->napi_defer_hard_irqs = 1;
> }
> EXPORT...

Great, you did the most difficult work and chose a proper function name.
I followed your suggestion and put this (slightly adjusted) function
into net core. Just submitted the series including it.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ