Messages in this thread | | | From | "Oliver O'Halloran" <> | Date | Tue, 15 Nov 2022 13:06:17 +1100 | Subject | Re: [RFC 0/4] pci/sriov: support VFs dynamic addition |
| |
On Tue, Nov 15, 2022 at 1:08 AM Longpeng (Mike, Cloud Infrastructure Service Product Dept.) <longpeng2@huawei.com> wrote: > > *snip* > > Adding 2K+ VFs to the sysfs need too much time. > > Look at the bottomhalf of the hypervisor live update: > kexec --> add 2K VFs --> restore VMs > > The downtime can be reduced if the sequence is: > kexec --> add 100 VFs(the VMs used) --> resotre VMs --> add 1.9K VFs
Right, so you want to add VFs in batches rather than all at once. Personally I think the bitmap approach is error prone since it renders the meaning of pf_dev->sriov->num_VFs unclear and there's some hairy code in arch/powerpc/ that approach will likely break. A better approach would be to add an attribute to control the number of VFs enabled in hardware and allowing sriov_numvfs to accept any number between the current value and sriov_hw_numvfs. e.g. your HV setup would look something like:
echo 2048 > sriov_hw_numvfs echo 100 > sriov_numvfs
# time passes echo 2048 > sriov_numvfs
This would be fairly simple to implement and you can make it backwards compatible by having writes to sriov_numvfs retain their current semantics if sriov_hw_numvfs is zero.
| |