[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b105a5c0-cf80-6b3d-b566-c52ce00e9284@intel.com>
Date: Tue, 28 Nov 2023 12:48:33 +0100
From: Przemek Kitszel <przemyslaw.kitszel@...el.com>
To: Tony Nguyen <anthony.l.nguyen@...el.com>, <davem@...emloft.net>,
<kuba@...nel.org>, <pabeni@...hat.com>, <edumazet@...gle.com>,
<netdev@...r.kernel.org>
CC: Dave Ertman <david.m.ertman@...el.com>, <carolyn.wyborny@...el.com>,
<daniel.machon@...rochip.com>, <maciej.fijalkowski@...el.com>,
<jay.vosburgh@...onical.com>, Sujai Buvaneswaran
<sujai.buvaneswaran@...el.com>
Subject: Re: [PATCH net v2] ice: Fix VF Reset paths when interface in a failed
over aggregate
On 11/27/23 22:23, Tony Nguyen wrote:
> From: Dave Ertman <david.m.ertman@...el.com>
>
> There is an error when an interface has the following conditions:
> - PF is in an aggregate (bond)
> - PF has VFs created on it
> - bond is in a state where it is failed-over to the secondary interface
> - A VF reset is issued on one or more of those VFs
>
> The issue is generated by the originating PF trying to rebuild or
> reconfigure the VF resources. Since the bond is failed over to the
> secondary interface the queue contexts are in a modified state.
>
> To fix this issue, have the originating interface reclaim its resources
> prior to the tear-down and rebuild or reconfigure. Then after the process
> is complete, move the resources back to the currently active interface.
>
> There are multiple paths that can be used depending on what triggered the
> event, so create a helper function to move the queues and use paired calls
> to the helper (back to origin, process, then move back to active interface)
> under the same lag_mutex lock.
>
> Fixes: 1e0f9881ef79 ("ice: Flesh out implementation of support for SRIOV on bonded interface")
> Signed-off-by: Dave Ertman <david.m.ertman@...el.com>
> Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@...el.com>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@...el.com>
> ---
> v2:
> - Created helper functions to avoid replicating code
Thanks a lot for that!
> - Changed to use list_for_each_entry_safe()
>
> v1: https://lore.kernel.org/netdev/20231115211242.1747810-1-anthony.l.nguyen@intel.com/
>
> drivers/net/ethernet/intel/ice/ice_lag.c | 122 +++++++++++-------
> drivers/net/ethernet/intel/ice/ice_lag.h | 1 +
> drivers/net/ethernet/intel/ice/ice_vf_lib.c | 20 +++
> drivers/net/ethernet/intel/ice/ice_virtchnl.c | 25 ++++
> 4 files changed, 118 insertions(+), 50 deletions(-)
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
Powered by blists - more mailing lists