Search the VMware Knowledge Base (KB)
View by Article ID

ESXi 6.5, earlier versions might not enable all VFs of PCI SR-IOV device (2147604)

  • 0 Ratings
Language Editions

Details

On some platforms, ESXi might fail to enable all virtual functions (VFs) of a PCI SR-IOV device as requested by the device's physical function (PF) driver. This failure results in hardware resources being unused or wasted.

This problem occurs on platforms where the BIOS or UEFI firmware programs the PF's base address registers (BARs) so that gaps of unassigned physical address space are left within the parent PCI-PCI bridge's memory apertures. For example,  non-prefetchable and prefetchable base or limit registers might not be assigned. When SR-IOV VFs are enabled and ESXi programs the VF BARs to assign them physical address space from the remaining gaps, it might not use the available space optimally. This poor usage results in a shortage of the number of VFs that can be enabled.

For example, if an SR-IOV NIC has 2 PFs with 64 VFs each, ESXi might not be capable of enabling all 128 VFs on the device.

Solution

To solve this problem, a boot option named pciBarAllocPolicy has been added in ESXi 6.5. The boot option has two settings:

  • first-fit (0x0)
  • smallest-fit (0x1)

By default this boot option is set to first-fit (0x0).

To work around this problem, you must edit this boot option to smallest-fit (pciBarAllocPolicy=0x1). This change causes ESXi to assign the base address registers of a virtual function to physical addresses. It chooses the smallest gap within the parent bridge's memory aperture that is large enough to fit the base address register of the virtual function.

Language Editions

ja,2150460;zh_cn,2150484

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 0 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 0 Ratings
Actions
KB: