[Intel-wired-lan] [PATCH net-next v3 02/12] ice: Move devlink port to PF/VF struct

Penigalapati, Sandeep sandeep.penigalapati at intel.com
Fri Aug 6 09:51:43 UTC 2021


>-----Original Message-----
>From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of
>Michal Swiatkowski
>Sent: Friday, June 25, 2021 8:15 AM
>To: intel-wired-lan at lists.osuosl.org
>Subject: [Intel-wired-lan] [PATCH net-next v3 02/12] ice: Move devlink port to
>PF/VF struct
>
>From: Wojciech Drewek <wojciech.drewek at intel.com>
>
>Keeping devlink port inside VSI data structure causes some issues.
>Since VF VSI is released during reset that means that we have to unregister
>devlink port and register it again every time reset is triggered. With the new
>changes in devlink API it might cause deadlock issues. After calling
>devlink_port_register/devlink_port_unregister devlink API is going to lock
>rtnl_mutex. It's an issue when VF reset is triggered in netlink operation
>context (like setting VF MAC address or VLAN), because rtnl_lock is already
>taken by netlink. Another call of rtnl_lock from devlink API results in dead-
>lock.
>
>By moving devlink port to PF/VF we avoid creating/destroying it during reset.
>Since this patch, devlink ports are created during ice_probe, destroyed during
>ice_remove for PF and created during ice_repr_add, destroyed during
>ice_repr_rem for VF.
>
>Signed-off-by: Wojciech Drewek <wojciech.drewek at intel.com>
>---
> drivers/net/ethernet/intel/ice/ice.h          |   7 +-
> drivers/net/ethernet/intel/ice/ice_devlink.c  | 106 +++++++++++++-----
> drivers/net/ethernet/intel/ice/ice_devlink.h  |   6 +-
> drivers/net/ethernet/intel/ice/ice_lib.c      |   3 +-
> drivers/net/ethernet/intel/ice/ice_main.c     |   4 +-
> .../net/ethernet/intel/ice/ice_virtchnl_pf.c  |   2 +-
> .../net/ethernet/intel/ice/ice_virtchnl_pf.h  |   9 ++
> 7 files changed, 100 insertions(+), 37 deletions(-)
>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati at intel.com>


More information about the Intel-wired-lan mailing list