Hi maintainers,
Ping...
在 2021/8/25 15:56, Longpeng(Mike) 写道:
> In vfio migration resume phase, the cost would increase if the
> vfio device has more unmasked vectors. We try to optimize it in
> this series.
>
> Patch 1 & 2 are simple code cleanups.
> Patch 3 defers to set irqs to vfio core.
> Patch 4 & 5 defer to commit the route to KVM core.
>
> The test VM has 128 vcpus and 8 VF (with 65 vectors enabled),
> we mesure the cost of the vfio_msix_enable for each one, and
> we can see the total cost can be significantly reduced.
>
> Origin Apply Patch 3 Apply Patch 3/4/5
> 1st 8 4 2
> 2nd 15 11 2
> 3rd 22 18 2
> 4th 24 25 3
> 5th 36 33 2
> 6th 44 40 3
> 7th 51 47 3
> 8th 58 54 4
> Total 258ms 232ms 21ms
>
>
> Longpeng (Mike) (5):
> vfio: use helper to simplfy the failure path in vfio_msi_enable
> msix: simplfy the conditional in msix_set/unset_vector_notifiers
> vfio: defer to enable msix in migration resume phase
> kvm: irqchip: support defer to commit the route
> vfio: defer to commit kvm route in migraiton resume phase
>
> accel/kvm/kvm-all.c | 10 +++--
> accel/stubs/kvm-stub.c | 3 +-
> hw/misc/ivshmem.c | 2 +-
> hw/pci/msix.c | 7 ++--
> hw/vfio/pci.c | 99 ++++++++++++++++++++++++++++++++++++++------------
> hw/vfio/pci.h | 1 +
> hw/virtio/virtio-pci.c | 2 +-
> include/sysemu/kvm.h | 4 +-
> target/i386/kvm/kvm.c | 2 +-
> 9 files changed, 95 insertions(+), 35 deletions(-)
>