[Intel-wired-lan] [PATCH net-next v2] ice: Enable configuration of number of qps per VF via devlink

Creeley, Brett brett.creeley at intel.com
Mon May 17 21:49:04 UTC 2021


> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of Sridhar Samudrala
> Sent: Monday, April 26, 2021 11:20 AM
> To: intel-wired-lan at lists.osuosl.org; Nguyen, Anthony L <anthony.l.nguyen at intel.com>; Samudrala, Sridhar
> <sridhar.samudrala at intel.com>
> Subject: [Intel-wired-lan] [PATCH net-next v2] ice: Enable configuration of number of qps per VF via devlink
> 
> Introduce a devlink parameter 'num_qps_per_vf' to allow user
> to configure the maximum number of queue pairs given to SR-IOV
> VFs before they are created.
> 
> This is currently determined by the driver based on the number
> of SR-IOV VFs created. In order to keep this behavior by default
> the parameter is initialized to 0. To change the default behavior,
> user can set num_qps_per_vf parameter via devlink and this will
> be used as the preferred value to determine the queues and vectors
> assigned per VF.

What if the host administrator wants to give the VF a different number
of vectors than queues? For example, if the admin knows the VF
instance will be exercising VF RDMA and the VF needs more vectors
for RDMA traffic.

Should we have 2 separate values, i.e. "num_qps_per_vf" and
"num_msix_per_vf"?

> 
> USAGE:
> On a 2 port NIC
>  # devlink dev param show
>  pci/0000:42:00.0:
>    name num_qps_per_vf type driver-specific
>      values:
>        cmode runtime value 0
>  pci/0000:42:00.1:
>    name num_qps_per_vf type driver-specific
>      values:
>        cmode runtime value 0
> 
>  /* Set num_qps_per_vf to 4 */
>  # devlink dev param set pci/0000:42:00.0 name num_qps_per_vf value 4 cmode runtime
> 
>  # devlink dev param show pci/0000:42:00.0 name num_qps_per_vf
>  pci/0000:42:00.0:
>    name num_qps_per_vf type driver-specific
>      values:
>        cmode runtime value 4
> 
>  # echo 8 > /sys/class/net/enp66s0f0/device/sriov_numvfs
> 
> This will create 8 VFs with 4 queue pairs and 5 vectors per VF
> compared to the default behavior of 16 queue pairs and 17 vectors
> per VF.
> 
> v2:
> Fixed kdoc for ice_devlink_num_qps_per_vf_validate()
> 
> Signed-off-by: Sridhar Samudrala <sridhar.samudrala at intel.com>
> ---
>  Documentation/networking/devlink/ice.rst      |  23 ++++
>  drivers/net/ethernet/intel/ice/ice_devlink.c  | 110 +++++++++++++++++-
>  drivers/net/ethernet/intel/ice/ice_main.c     |   3 +
>  .../net/ethernet/intel/ice/ice_virtchnl_pf.c  |   5 +-
>  4 files changed, 139 insertions(+), 2 deletions(-)
> 

<snip>



More information about the Intel-wired-lan mailing list