ice: Allow 2 queue pairs per VF on SR-IOV initialization
authorBrett Creeley <brett.creeley@intel.com>
Thu, 30 Jul 2020 00:19:16 +0000 (17:19 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Sat, 1 Aug 2020 15:44:04 +0000 (08:44 -0700)
commitf34f55557ac9a4dfbfbf36c70585d1648ab5cd90
treed72a787c489998b0184487d798889e321664f852
parentec1d1d2302067e3ccbc4d0adcd36d72410933b70
ice: Allow 2 queue pairs per VF on SR-IOV initialization

Currently VFs are only allowed to get 16, 4, and 1 queue pair by
default, which require 17, 5, and 2 MSI-X vectors respectively. This
is because each VF needs a MSI-X per data queue and a MSI-X for its
other interrupt. The calculation is based on the number of VFs created,
MSI-X available, and queue pairs available at the time of VF creation.

Unfortunately the values above exclude 2 queue pairs when only 3 MSI-X
are available to each VF based on resource constraints. The current
calculation would default to 2 MSI-X and 1 queue pair. This is a waste
of resources, so fix this by allowing 2 queue pairs per VF when there
are between 2 and 5 MSI-X available per VF.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.h