[Openstack-operators] [neutron] [os-vif] VF overcommitting and performance in SR-IOV

Jay Pipes jaypipes at gmail.com
Mon Jan 22 17:38:15 UTC 2018


On 01/22/2018 11:36 AM, Maciej Kucia wrote:
> Hi!
> 
> Is there any noticeable performance penalty when using multiple virtual 
> functions?
> 
> For simplicity I am enabling all available virtual functions in my NICs.

I presume by the above you are referring to setting your 
pci_passthrough_whitelist on your compute nodes to whitelist all VFs on 
a particular PF's PCI address domain/bus?

> Sometimes application is using only few of them. I am using Intel and 
> Mellanox.
> 
> I do not see any performance drop but I am getting feedback that this 
> might not be the best approach.

Who is giving you this feedback?

The only issue with enabling (potentially 254 or more) VFs for each PF 
is that each VF will end up as a record in the pci_devices table in the 
Nova cell database. Multiply 254 or more times the number of PFs times 
the number of compute nodes in your deployment and you can get a large 
number of records that need to be stored. That said, the pci_devices 
table is well indexed and even if you had 1M or more records in the 
table, the access of a few hundred of those records when the resource 
tracker does a PciDeviceList.get_by_compute_node() [1] will still be 
quite fast.

Best,
-jay

[1] 
https://github.com/openstack/nova/blob/stable/pike/nova/compute/resource_tracker.py#L572 
and then
https://github.com/openstack/nova/blob/stable/pike/nova/pci/manager.py#L71

> Any recommendations?
> 
> Thanks,
> Maciej
> 
> 
> _______________________________________________
> OpenStack-operators mailing list
> OpenStack-operators at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators
> 



More information about the OpenStack-operators mailing list