[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <61CC2BC414934749BD9F5BF3D5D9404498670105@ORSMSX112.amr.corp.intel.com>
Date: Tue, 21 Apr 2020 22:36:21 +0000
From: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>
To: Jakub Kicinski <kuba@...nel.org>
CC: "davem@...emloft.net" <davem@...emloft.net>,
"Kubalewski, Arkadiusz" <arkadiusz.kubalewski@...el.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"nhorman@...hat.com" <nhorman@...hat.com>,
"sassmann@...hat.com" <sassmann@...hat.com>,
"Kwapulinski, Piotr" <piotr.kwapulinski@...el.com>,
"Loktionov, Aleksandr" <aleksandr.loktionov@...el.com>,
"Bowers, AndrewX" <andrewx.bowers@...el.com>
Subject: RE: [net-next 3/4] i40e: Add support for a new feature: Total Port
Shutdown
> -----Original Message-----
> From: Jakub Kicinski <kuba@...nel.org>
> Sent: Tuesday, April 21, 2020 10:56
> To: Kirsher, Jeffrey T <jeffrey.t.kirsher@...el.com>
> Cc: davem@...emloft.net; Kubalewski, Arkadiusz
> <arkadiusz.kubalewski@...el.com>; netdev@...r.kernel.org;
> nhorman@...hat.com; sassmann@...hat.com; Kwapulinski, Piotr
> <piotr.kwapulinski@...el.com>; Loktionov, Aleksandr
> <aleksandr.loktionov@...el.com>; Bowers, AndrewX
> <andrewx.bowers@...el.com>
> Subject: Re: [net-next 3/4] i40e: Add support for a new feature: Total Port
> Shutdown
>
> On Mon, 20 Apr 2020 18:49:31 -0700 Jeff Kirsher wrote:
> > From: Arkadiusz Kubalewski <arkadiusz.kubalewski@...el.com>
> >
> > Currently after requesting to down a link on a physical network port,
> > the traffic is no longer being processed but the physical link with a
> > link partner is still established.
> >
> > Total Port Shutdown allows to completely shutdown the port on the
> > link-down procedure by physically removing the link from the port.
> >
> > Introduced changes:
> > - probe NVM if the feature was enabled at initialization of the port
> > - special handling on link-down procedure to let FW physically
> > shutdown the port if the feature was enabled
>
> How is this different than link-down-on-close?
[Kirsher, Jeffrey T]
First of all total-port-shutdown is a read only flag, the user cannot set it
from the OS. It is possible to set it in bios, but only if the motherboard
supports it and the NIC has that capability. Also, the behavior on both
slightly differs, link-down-on-close brings the link down by sending
(to firmware) phy_type=0, while total-port-shutdown does not, the
phy_type is not changed, instead firmware is using
I40E_AQ_PHY_ENABLE_LINK flag.
>
> Perhaps it'd be good to start documenting the private flags in Documentation/
[Kirsher, Jeffrey T]
We could look at adding that information into our kernel documentation, I am
planning on updating the driver documentation in a follow-up patch set. Would
a descriptive code comment help in this case?
>
> > Testing Hints (required if no HSD):
> > Link up/down, link-down-on-close
> >
> > Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@...el.com>
> > Signed-off-by: Piotr Kwapulinski <piotr.kwapulinski@...el.com>
> > Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
> > Tested-by: Andrew Bowers <andrewx.bowers@...el.com>
> > Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
>
> > @@ -12012,6 +12085,16 @@ static int i40e_sw_init(struct i40e_pf *pf)
> >
> > pf->tx_timeout_recovery_level = 1;
> >
> > + if (pf->hw.mac.type != I40E_MAC_X722 &&
> > + i40e_is_total_port_shutdown_enabled(pf)) {
> > + /* Link down on close must be on when total port shutdown
> > + * is enabled for a given port
> > + */
> > + pf->flags |= (I40E_FLAG_TOTAL_PORT_SHUTDOWN
> > + | I40E_FLAG_LINK_DOWN_ON_CLOSE_ENABLED);
>
> FWIW this is the correct code style in the kernel:
>
> flags = BLA |
> BLA2;
[Kirsher, Jeffrey T]
This will get fixed in v2.
>
> > + dev_info(&pf->pdev->dev,
> > + "Total Port Shutdown is enabled, link-down-on-close
> forced on\n");
> > + }
> > mutex_init(&pf->switch_mutex);
> >
> > sw_init_done:
Powered by blists - more mailing lists