[Intel-wired-lan] [PATCH net v2] ice: avoid bonding causing auxiliary plug/unplug under RTNL lock

Arland, ArpanaX arpanax.arland at intel.com
Mon Mar 6 11:03:18 UTC 2023


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of Ertman, David M
> Sent: Thursday, February 16, 2023 12:48 AM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Jaroslav Pulchart <jaroslav.pulchart at gooddata.com>
> Subject: [Intel-wired-lan] [PATCH net v2] ice: avoid bonding causing auxiliary plug/unplug under RTNL lock
>
> RDMA is not supported in ice on a PF that has been added to a bonded interface. To enforce this, when an interface enters a bond, we unplug the auxiliary device that supports RDMA functionality.  This unplug currently happens in the context of handling the netdev bonding event.
> This event is sent to the ice driver under RTNL context.  This is causing a deadlock where the RDMA driver is waiting for the RTNL lock to complete the removal.
>
> Defer the unplugging/re-plugging of the auxiliary device to the service task so that it is not performed under the RTNL lock context.
>
> Reported-by: Jaroslav Pulchart <jaroslav.pulchart at gooddata.com>
> Link: https://lore.kernel.org/linux-rdma/68b14b11-d0c7-65c9-4eeb-0487c95e395d@leemhuis.info/
> Fixes: 5cb1ebdbc434 ("ice: Fix race condition during interface enslave")
> Fixes: 425c9bd06b7a ("RDMA/irdma: Report the correct link speed")
> Signed-off-by: Dave Ertman <david.m.ertman at intel.com>
> ---
> Changes since v1:
> Reversed order of bit processing in ice_service_task for PLUG/UNPLUG
>
>  drivers/net/ethernet/intel/ice/ice.h      | 14 +++++---------
>  drivers/net/ethernet/intel/ice/ice_main.c | 19 ++++++++-----------
>  2 files changed, 13 insertions(+), 20 deletions(-)
>
Tested-by: Arpana Arland < arpanax.arland at intel.com> (A Contingent worker at Intel)



More information about the Intel-wired-lan mailing list