[PATCH v2 0/9] optimize the downtime for vfio migration

Longpeng(Mike) posted 9 patches 2 years, 7 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210909060613.2815-1-longpeng2@huawei.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Alex Williamson <alex.williamson@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
There is a newer version of this series
accel/kvm/kvm-all.c  |  15 ++++++-
hw/pci/msix.c        |   7 ++-
hw/vfio/pci.c        | 125 +++++++++++++++++++++++++++++++++------------------
hw/vfio/pci.h        |   1 +
include/sysemu/kvm.h |   6 +++
5 files changed, 105 insertions(+), 49 deletions(-)
[PATCH v2 0/9] optimize the downtime for vfio migration
Posted by Longpeng(Mike) 2 years, 7 months ago
Hi guys,

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.

You can see the commit message in PATCH 9 for details.

Patch 1-5 are simple cleanups and fixup.
Patch 6-8 are the preparations for the optimization.
Patch 9 optimizes the vfio msix setup path.

Changes v1->v2:
 - fix several typos and grammatical errors [Alex, Philippe]
 - split fixups and cleanups into separate patches  [Alex, Philippe]
 - introduce kvm_irqchip_add_deferred_msi_route to
   minimize code changes    [Alex]
 - enable the optimization in msi setup path    [Alex]

Longpeng (Mike) (9):
  vfio: simplify the conditional statements in vfio_msi_enable
  vfio: move re-enabling INTX out of the common helper
  vfio: simplify the failure path in vfio_msi_enable
  msix: simplify the conditional in msix_set/unset_vector_notifiers
  msix: reset poll_notifier to NULL if fail to set notifiers
  kvm: irqchip: extract kvm_irqchip_add_deferred_msi_route
  vfio: add infrastructure to commit the deferred kvm routing
  Revert "vfio: Avoid disabling and enabling vectors repeatedly in VFIO
    migration"
  vfio: defer to commit kvm irq routing when enable msi/msix

 accel/kvm/kvm-all.c  |  15 ++++++-
 hw/pci/msix.c        |   7 ++-
 hw/vfio/pci.c        | 125 +++++++++++++++++++++++++++++++++------------------
 hw/vfio/pci.h        |   1 +
 include/sysemu/kvm.h |   6 +++
 5 files changed, 105 insertions(+), 49 deletions(-)

-- 
1.8.3.1


Re: [PATCH v2 0/9] optimize the downtime for vfio migration
Posted by Longpeng (Mike, Cloud Infrastructure Service Product Dept.) 2 years, 7 months ago
Hi guys,

Ping...

I just sent out V3, please review on V3, thanks!


在 2021/9/9 14:06, Longpeng(Mike) 写道:
> Hi guys,
> 
> 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.
> 
> You can see the commit message in PATCH 9 for details.
> 
> Patch 1-5 are simple cleanups and fixup.
> Patch 6-8 are the preparations for the optimization.
> Patch 9 optimizes the vfio msix setup path.
> 
> Changes v1->v2:
>  - fix several typos and grammatical errors [Alex, Philippe]
>  - split fixups and cleanups into separate patches  [Alex, Philippe]
>  - introduce kvm_irqchip_add_deferred_msi_route to
>    minimize code changes    [Alex]
>  - enable the optimization in msi setup path    [Alex]
> 
> Longpeng (Mike) (9):
>   vfio: simplify the conditional statements in vfio_msi_enable
>   vfio: move re-enabling INTX out of the common helper
>   vfio: simplify the failure path in vfio_msi_enable
>   msix: simplify the conditional in msix_set/unset_vector_notifiers
>   msix: reset poll_notifier to NULL if fail to set notifiers
>   kvm: irqchip: extract kvm_irqchip_add_deferred_msi_route
>   vfio: add infrastructure to commit the deferred kvm routing
>   Revert "vfio: Avoid disabling and enabling vectors repeatedly in VFIO
>     migration"
>   vfio: defer to commit kvm irq routing when enable msi/msix
> 
>  accel/kvm/kvm-all.c  |  15 ++++++-
>  hw/pci/msix.c        |   7 ++-
>  hw/vfio/pci.c        | 125 +++++++++++++++++++++++++++++++++------------------
>  hw/vfio/pci.h        |   1 +
>  include/sysemu/kvm.h |   6 +++
>  5 files changed, 105 insertions(+), 49 deletions(-)
>