(lkml)

From: Jack Morgenstein <ja...@dev.mellanox.co.il>

When creating EQs to handle CQ completion events for the PF
or for VFs, we create enough EQE entries to handle completions
for the max number of CQs that can use that EQ.

When SRIOV is activated, the max number of CQs a VF (or the PF) can
obtain is its CQ quota (determined by the Hypervisor resource tracker).
Therefore, when creating an EQ, the number of EQE entries that the VF
should request for that EQ is the CQ quota value (and not the total
number of CQs available in the FW).

Under SRIOV, the PF, also must use its CQ quota, because
the resource tracker also controls how many CQs the PF can obtain.

Using the FW total CQs instead of the CQ quota when creating EQs resulted
wasting MTT entries, due to allocating more EQEs than were needed.

Fixes: 5a0d0a6161ae ("mlx4: Structures and init/teardown for VF resource 
quotas")
Signed-off-by: Jack Morgenstein <ja...@dev.mellanox.co.il>
Reported-by: Dexuan Cui <de...@microsoft.com>
Signed-off-by: Tariq Toukan <tar...@mellanox.com>

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1667007

Title:
  [Hyper-V] Mellanox VF driver does not support >16 vCPUs

Status in linux package in Ubuntu:
  New

Bug description:
  In the course of enabling SR-IOV on Azure, discovered that the
  Mellanox Driver with 16 or more vCPUs fails. Mellanox has submitted
  the following patch upstream to correct this problem.

  Prerequisite:
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1650058

  I will post the upstream commit once it lands.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1667007/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to