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] [thread-next>] [day] [month] [year] [list]
Message-ID: <88dd7ff9-b8cc-448f-84c1-16abe58123b6@lunn.ch>
Date: Sat, 28 Dec 2024 01:36:10 +0100
From: Andrew Lunn <andrew@...n.ch>
To: John Daley <johndale@...co.com>
Cc: benve@...co.com, satishkh@...co.com, andrew+netdev@...n.ch,
	davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
	pabeni@...hat.com, netdev@...r.kernel.org,
	Nelson Escobar <neescoba@...co.com>
Subject: Re: [PATCH net-next v3 6/6] enic: Obtain the Link speed only after
 the link comes up

On Fri, Dec 27, 2024 at 04:10:55PM -0800, John Daley wrote:
> The link speed was being checked before the link was actually up and so
> it was always set to 0. Change the adaptive RX coalescing setup function
> to run after the Link comes up so that it gets the correct link speed.
> 
> The link speed is used to index a table to get the minimum time for the
> range used for adaptive RX. Prior to this fix, the incorrect link speed
> would select 0us for the low end of the range regardless of actual link
> speed which could cause slightly more interrupts.

It still seems like there are two distinct changes here.

> diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
> index 21cbd7ed7bda..12678bcf96a6 100644
> --- a/drivers/net/ethernet/cisco/enic/enic_main.c
> +++ b/drivers/net/ethernet/cisco/enic/enic_main.c
> @@ -109,7 +109,7 @@ static struct enic_intr_mod_table mod_table[ENIC_MAX_COALESCE_TIMERS + 1] = {
>  static struct enic_intr_mod_range mod_range[ENIC_MAX_LINK_SPEEDS] = {
>  	{0,  0}, /* 0  - 4  Gbps */
>  	{0,  3}, /* 4  - 10 Gbps */
> -	{3,  6}, /* 10 - 40 Gbps */
> +	{3,  6}, /* 10+ Gbps */
>  };

1) This fixes a broken comment, but otherwise make no functional
change.

>  static void enic_init_affinity_hint(struct enic *enic)
> @@ -466,6 +466,7 @@ static void enic_link_check(struct enic *enic)
>  	if (link_status && !carrier_ok) {
>  		netdev_info(enic->netdev, "Link UP\n");
>  		netif_carrier_on(enic->netdev);
> +		enic_set_rx_coal_setting(enic);
>  	} else if (!link_status && carrier_ok) {
>  		netdev_info(enic->netdev, "Link DOWN\n");
>  		netif_carrier_off(enic->netdev);
> @@ -3016,7 +3017,6 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  	timer_setup(&enic->notify_timer, enic_notify_timer, 0);
>  
>  	enic_rfs_flw_tbl_init(enic);
> -	enic_set_rx_coal_setting(enic);

2) This sets coalescing after the link is up.

Two patches please.


    Andrew

---
pw-bot: cr

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ