From: "Longpeng(Mike)" <longpeng2@huawei.com>
To: <alex.williamson@redhat.com>, <pbonzini@redhat.com>
Cc: "Longpeng\(Mike\)" <longpeng2@huawei.com>,
arei.gonglei@huawei.com, qemu-devel@nongnu.org,
kvm@vger.kernel.org
Subject: [PATCH v5 0/6] optimize the downtime for vfio migration
Date: Wed, 3 Nov 2021 16:16:51 +0800 [thread overview]
Message-ID: <20211103081657.1945-1-longpeng2@huawei.com> (raw)
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 6 for details.
Patch 1-3 are simple cleanups and fixup.
Patch 4-5 are the preparations for the optimization.
Patch 6 optimizes the vfio msix setup path.
Changes v4->v5:
- setup the notifier and irqfd in the same function to makes
the code neater. [Alex]
Changes v3->v4:
- fix several typos and grammatical errors [Alex]
- remove the patches that fix and clean the MSIX common part
from this series [Alex]
- Patch 6:
- use vector->use directly and fill it with -1 on error
paths [Alex]
- add comment before enable deferring to commit [Alex]
- move the code that do_use/release on vector 0 into an
"else" branch [Alex]
- introduce vfio_prepare_kvm_msi_virq_batch() that enables
the 'defer_kvm_irq_routing' flag [Alex]
- introduce vfio_commit_kvm_msi_virq_batch() that clears the
'defer_kvm_irq_routing' flag and does further work [Alex]
Changes v2->v3:
- fix two errors [Longpeng]
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) (6):
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
kvm: irqchip: extract kvm_irqchip_add_deferred_msi_route
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/vfio/pci.c | 176 ++++++++++++++++++++++++++++++++-------------------
hw/vfio/pci.h | 1 +
include/sysemu/kvm.h | 6 ++
4 files changed, 130 insertions(+), 68 deletions(-)
--
1.8.3.1
next reply other threads:[~2021-11-03 8:19 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-03 8:16 Longpeng(Mike) [this message]
2021-11-03 8:16 ` [PATCH v5 1/6] vfio: simplify the conditional statements in vfio_msi_enable Longpeng(Mike)
2021-11-03 8:16 ` [PATCH v5 2/6] vfio: move re-enabling INTX out of the common helper Longpeng(Mike)
2021-11-03 8:16 ` [PATCH v5 3/6] vfio: simplify the failure path in vfio_msi_enable Longpeng(Mike)
2021-11-03 8:16 ` [PATCH v5 4/6] kvm: irqchip: extract kvm_irqchip_add_deferred_msi_route Longpeng(Mike)
2021-11-12 3:59 ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-11-12 9:31 ` Paolo Bonzini
2021-11-13 9:21 ` Longpeng (Mike, Cloud Infrastructure Service Product Dept.)
2021-11-03 8:16 ` [PATCH v5 5/6] Revert "vfio: Avoid disabling and enabling vectors repeatedly in VFIO migration" Longpeng(Mike)
2021-11-03 8:16 ` [PATCH v5 6/6] vfio: defer to commit kvm irq routing when enable msi/msix Longpeng(Mike)
2021-11-03 20:36 ` [PATCH v5 0/6] optimize the downtime for vfio migration Alex Williamson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211103081657.1945-1-longpeng2@huawei.com \
--to=longpeng2@huawei.com \
--cc=alex.williamson@redhat.com \
--cc=arei.gonglei@huawei.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).