From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Lan, Tianyu" <tianyu.lan@intel.com>
Cc: aik@ozlabs.ru, alex.williamson@redhat.com, amit.shah@redhat.com,
anthony@codemonkey.ws, ard.biesheuvel@linaro.org,
blauwirbel@gmail.com, cornelia.huck@de.ibm.com,
eddie.dong@intel.com, nrupal.jani@intel.com, agraf@suse.de,
kvm@vger.kernel.org, pbonzini@redhat.com, qemu-devel@nongnu.org,
emil.s.tantilov@intel.com, gerlitz.or@gmail.com,
donald.c.skidmore@intel.com, mark.d.rustad@intel.com,
kraxel@redhat.com, lcapitulino@redhat.com, quintela@redhat.com
Subject: Re: [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC
Date: Tue, 1 Dec 2015 17:02:40 +0200 [thread overview]
Message-ID: <20151201164327-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <565D3DB1.5050902@intel.com>
On Tue, Dec 01, 2015 at 02:26:57PM +0800, Lan, Tianyu wrote:
>
>
> On 11/30/2015 4:01 PM, Michael S. Tsirkin wrote:
> >It is still not very clear what it is you are trying to achieve, and
> >whether your patchset achieves it. You merely say "adding live
> >migration" but it seems pretty clear this isn't about being able to
> >migrate a guest transparently, since you are adding a host/guest
> >handshake.
> >
> >This isn't about functionality either: I think that on KVM, it isn't
> >hard to live migrate if you can do a host/guest handshake, even today,
> >with no kernel changes:
> >1. before migration, expose a pv nic to guest (can be done directly on
> > boot)
> >2. use e.g. a serial connection to move IP from an assigned device to pv nic
> >3. maybe move the mac as well
> >4. eject the assigned device
> >5. detect eject on host (QEMU generates a DEVICE_DELETED event when this
> > happens) and start migration
> >
>
> This looks like the bonding driver solution
Why does it? Unlike bonding, this doesn't touch data path or
any kernel code. Just run a script from guest agent.
> which put pv nic and VF
> in one bonded interface under active-backup mode. The bonding driver
> will switch from VF to PV nic automatically when VF is unplugged during
> migration. This is the only available solution for VF NIC migration.
It really isn't. For one, there is also teaming.
> But
> it requires guest OS to do specific configurations inside and rely on
> bonding driver which blocks it work on Windows.
> From performance side,
> putting VF and virtio NIC under bonded interface will affect their
> performance even when not do migration. These factors block to use VF
> NIC passthough in some user cases(Especially in the cloud) which require
> migration.
That's really up to guest. You don't need to do bonding,
you can just move the IP and mac from userspace, that's
possible on most OS-es.
Or write something in guest kernel that is more lightweight if you are
so inclined. What we are discussing here is the host-guest interface,
not the in-guest interface.
> Current solution we proposed changes NIC driver and Qemu. Guest Os
> doesn't need to do special thing for migration.
> It's easy to deploy
Except of course these patches don't even work properly yet.
And when they do, even minor changes in host side NIC hardware across
migration will break guests in hard to predict ways.
> and
> all changes are in the NIC driver, NIC vendor can implement migration
> support just in the their driver.
Kernel code and hypervisor code is not easier to develop and deploy than
a userspace script. If that is all the motivation there is, that's a
pretty small return on investment.
--
MST
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Lan, Tianyu" <tianyu.lan@intel.com>
Cc: qemu-devel@nongnu.org, emil.s.tantilov@intel.com,
kvm@vger.kernel.org, ard.biesheuvel@linaro.org, aik@ozlabs.ru,
donald.c.skidmore@intel.com, quintela@redhat.com,
eddie.dong@intel.com, nrupal.jani@intel.com, agraf@suse.de,
blauwirbel@gmail.com, cornelia.huck@de.ibm.com,
alex.williamson@redhat.com, kraxel@redhat.com,
anthony@codemonkey.ws, amit.shah@redhat.com, pbonzini@redhat.com,
mark.d.rustad@intel.com, lcapitulino@redhat.com,
gerlitz.or@gmail.com
Subject: Re: [Qemu-devel] [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC
Date: Tue, 1 Dec 2015 17:02:40 +0200 [thread overview]
Message-ID: <20151201164327-mutt-send-email-mst@redhat.com> (raw)
In-Reply-To: <565D3DB1.5050902@intel.com>
On Tue, Dec 01, 2015 at 02:26:57PM +0800, Lan, Tianyu wrote:
>
>
> On 11/30/2015 4:01 PM, Michael S. Tsirkin wrote:
> >It is still not very clear what it is you are trying to achieve, and
> >whether your patchset achieves it. You merely say "adding live
> >migration" but it seems pretty clear this isn't about being able to
> >migrate a guest transparently, since you are adding a host/guest
> >handshake.
> >
> >This isn't about functionality either: I think that on KVM, it isn't
> >hard to live migrate if you can do a host/guest handshake, even today,
> >with no kernel changes:
> >1. before migration, expose a pv nic to guest (can be done directly on
> > boot)
> >2. use e.g. a serial connection to move IP from an assigned device to pv nic
> >3. maybe move the mac as well
> >4. eject the assigned device
> >5. detect eject on host (QEMU generates a DEVICE_DELETED event when this
> > happens) and start migration
> >
>
> This looks like the bonding driver solution
Why does it? Unlike bonding, this doesn't touch data path or
any kernel code. Just run a script from guest agent.
> which put pv nic and VF
> in one bonded interface under active-backup mode. The bonding driver
> will switch from VF to PV nic automatically when VF is unplugged during
> migration. This is the only available solution for VF NIC migration.
It really isn't. For one, there is also teaming.
> But
> it requires guest OS to do specific configurations inside and rely on
> bonding driver which blocks it work on Windows.
> From performance side,
> putting VF and virtio NIC under bonded interface will affect their
> performance even when not do migration. These factors block to use VF
> NIC passthough in some user cases(Especially in the cloud) which require
> migration.
That's really up to guest. You don't need to do bonding,
you can just move the IP and mac from userspace, that's
possible on most OS-es.
Or write something in guest kernel that is more lightweight if you are
so inclined. What we are discussing here is the host-guest interface,
not the in-guest interface.
> Current solution we proposed changes NIC driver and Qemu. Guest Os
> doesn't need to do special thing for migration.
> It's easy to deploy
Except of course these patches don't even work properly yet.
And when they do, even minor changes in host side NIC hardware across
migration will break guests in hard to predict ways.
> and
> all changes are in the NIC driver, NIC vendor can implement migration
> support just in the their driver.
Kernel code and hypervisor code is not easier to develop and deploy than
a userspace script. If that is all the motivation there is, that's a
pretty small return on investment.
--
MST
next prev parent reply other threads:[~2015-12-01 15:02 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-24 13:35 [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 01/10] Qemu/VFIO: Create head file pci.h to share data struct Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 02/10] Qemu/VFIO: Add new VFIO_GET_PCI_CAP_INFO ioctl cmd definition Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-12-02 22:25 ` Alex Williamson
2015-12-02 22:25 ` [Qemu-devel] " Alex Williamson
2015-12-03 8:40 ` Lan, Tianyu
2015-12-03 8:40 ` [Qemu-devel] " Lan, Tianyu
2015-12-03 15:26 ` Alex Williamson
2015-12-03 15:26 ` [Qemu-devel] " Alex Williamson
2015-11-24 13:35 ` [RFC PATCH V2 03/10] Qemu/VFIO: Rework vfio_std_cap_max_size() function Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 04/10] Qemu/VFIO: Add vfio_find_free_cfg_reg() to find free PCI config space regs Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 05/10] Qemu/VFIO: Expose PCI config space read/write and msix functions Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 06/10] Qemu/PCI: Add macros for faked PCI migration capability Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-12-02 22:25 ` Alex Williamson
2015-12-02 22:25 ` [Qemu-devel] " Alex Williamson
2015-12-03 8:57 ` Lan, Tianyu
2015-12-03 8:57 ` [Qemu-devel] " Lan, Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 07/10] Qemu: Add post_load_state() to run after restoring CPU state Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 08/10] Qemu: Add save_before_stop callback to run just before stopping VCPU during migration Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 09/10] Qemu/VFIO: Add SRIOV VF migration support Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-24 21:03 ` Michael S. Tsirkin
2015-11-24 21:03 ` [Qemu-devel] " Michael S. Tsirkin
2015-11-25 15:32 ` Lan, Tianyu
2015-11-25 15:32 ` [Qemu-devel] " Lan, Tianyu
2015-11-25 15:44 ` Michael S. Tsirkin
2015-11-25 15:44 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-02 22:25 ` Alex Williamson
2015-12-02 22:25 ` [Qemu-devel] " Alex Williamson
2015-12-03 8:56 ` Lan, Tianyu
2015-12-03 8:56 ` [Qemu-devel] " Lan, Tianyu
2015-11-24 13:35 ` [RFC PATCH V2 10/10] Qemu/VFIO: Misc change for enable migration with VFIO Lan Tianyu
2015-11-24 13:35 ` [Qemu-devel] " Lan Tianyu
2015-11-30 8:01 ` [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC Michael S. Tsirkin
2015-11-30 8:01 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-01 6:26 ` Lan, Tianyu
2015-12-01 6:26 ` [Qemu-devel] " Lan, Tianyu
2015-12-01 15:02 ` Michael S. Tsirkin [this message]
2015-12-01 15:02 ` Michael S. Tsirkin
2015-12-02 14:08 ` Lan, Tianyu
2015-12-02 14:08 ` [Qemu-devel] " Lan, Tianyu
2015-12-02 14:31 ` Michael S. Tsirkin
2015-12-02 14:31 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-03 14:53 ` Lan, Tianyu
2015-12-03 14:53 ` [Qemu-devel] " Lan, Tianyu
2015-12-04 6:42 ` Lan, Tianyu
2015-12-04 6:42 ` [Qemu-devel] " Lan, Tianyu
2015-12-04 8:05 ` Michael S. Tsirkin
2015-12-04 8:05 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-04 12:11 ` Lan, Tianyu
2015-12-04 12:11 ` [Qemu-devel] " Lan, Tianyu
2015-12-03 18:32 ` Alexander Duyck
2015-12-03 18:32 ` [Qemu-devel] " Alexander Duyck
2015-12-07 16:50 ` live migration vs device assignment (was Re: [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC) Michael S. Tsirkin
2015-12-07 16:50 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-09 16:26 ` live migration vs device assignment (motivation) Lan, Tianyu
2015-12-09 16:26 ` [Qemu-devel] " Lan, Tianyu
2015-12-09 17:14 ` Alexander Duyck
2015-12-09 17:14 ` [Qemu-devel] " Alexander Duyck
2015-12-10 3:15 ` Lan, Tianyu
2015-12-10 3:15 ` [Qemu-devel] " Lan, Tianyu
2015-12-09 20:07 ` Michael S. Tsirkin
2015-12-09 20:07 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-10 3:04 ` Lan, Tianyu
2015-12-10 3:04 ` [Qemu-devel] " Lan, Tianyu
2015-12-10 8:38 ` Michael S. Tsirkin
2015-12-10 8:38 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-10 14:23 ` Lan, Tianyu
2015-12-10 14:23 ` [Qemu-devel] " Lan, Tianyu
2015-12-10 10:18 ` Dr. David Alan Gilbert
2015-12-10 10:18 ` Dr. David Alan Gilbert
2015-12-10 11:28 ` Yang Zhang
2015-12-10 11:28 ` Yang Zhang
2015-12-10 11:41 ` Dr. David Alan Gilbert
2015-12-10 11:41 ` Dr. David Alan Gilbert
2015-12-10 13:07 ` Yang Zhang
2015-12-10 13:07 ` Yang Zhang
2015-12-10 14:38 ` Lan, Tianyu
2015-12-10 14:38 ` [Qemu-devel] " Lan, Tianyu
2015-12-10 16:11 ` Michael S. Tsirkin
2015-12-10 16:11 ` Michael S. Tsirkin
2015-12-10 19:17 ` Alexander Duyck
2015-12-10 19:17 ` Alexander Duyck
2015-12-11 7:32 ` Lan, Tianyu
2015-12-11 7:32 ` Lan, Tianyu
2015-12-14 9:12 ` Michael S. Tsirkin
2015-12-14 9:12 ` Michael S. Tsirkin
2015-12-10 16:23 ` Dr. David Alan Gilbert
2015-12-10 16:23 ` Dr. David Alan Gilbert
2015-12-10 17:16 ` Alexander Duyck
2015-12-10 17:16 ` Alexander Duyck
2015-12-13 15:47 ` Lan, Tianyu
2015-12-13 15:47 ` Lan, Tianyu
2015-12-13 19:30 ` Alexander Duyck
2015-12-13 19:30 ` Alexander Duyck
2015-12-25 7:03 ` Lan Tianyu
2015-12-25 7:03 ` [Qemu-devel] " Lan Tianyu
2015-12-25 12:11 ` Michael S. Tsirkin
2015-12-25 12:11 ` Michael S. Tsirkin
2015-12-28 17:42 ` Lan, Tianyu
2015-12-28 17:42 ` Lan, Tianyu
2015-12-29 16:46 ` Michael S. Tsirkin
2015-12-29 16:46 ` Michael S. Tsirkin
2015-12-29 17:04 ` Alexander Duyck
2015-12-29 17:04 ` Alexander Duyck
2015-12-29 17:15 ` Michael S. Tsirkin
2015-12-29 17:15 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-29 18:04 ` Alexander Duyck
2015-12-29 18:04 ` Alexander Duyck
2016-01-04 2:15 ` Lan Tianyu
2016-01-04 2:15 ` Lan Tianyu
2015-12-25 22:31 ` Alexander Duyck
2015-12-25 22:31 ` Alexander Duyck
2015-12-27 9:21 ` Michael S. Tsirkin
2015-12-27 9:21 ` [Qemu-devel] " Michael S. Tsirkin
2015-12-27 21:45 ` Alexander Duyck
2015-12-27 21:45 ` Alexander Duyck
2015-12-28 8:51 ` Michael S. Tsirkin
2015-12-28 8:51 ` Michael S. Tsirkin
2015-12-28 3:20 ` Dong, Eddie
2015-12-28 3:20 ` Dong, Eddie
2015-12-28 4:26 ` Alexander Duyck
2015-12-28 4:26 ` [Qemu-devel] " Alexander Duyck
2015-12-28 11:50 ` Michael S. Tsirkin
2015-12-28 11:50 ` Michael S. Tsirkin
2015-12-14 9:26 ` Michael S. Tsirkin
2015-12-14 9:26 ` Michael S. Tsirkin
2015-12-28 8:52 ` Pavel Fedin
2015-12-28 8:52 ` Pavel Fedin
2015-12-28 11:51 ` Michael S. Tsirkin
2015-12-28 11:51 ` Michael S. Tsirkin
2016-03-17 9:15 ` [Qemu-devel] [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC Wei Yang
2016-03-17 9:15 ` Wei Yang
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=20151201164327-mutt-send-email-mst@redhat.com \
--to=mst@redhat.com \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=alex.williamson@redhat.com \
--cc=amit.shah@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=ard.biesheuvel@linaro.org \
--cc=blauwirbel@gmail.com \
--cc=cornelia.huck@de.ibm.com \
--cc=donald.c.skidmore@intel.com \
--cc=eddie.dong@intel.com \
--cc=emil.s.tantilov@intel.com \
--cc=gerlitz.or@gmail.com \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=lcapitulino@redhat.com \
--cc=mark.d.rustad@intel.com \
--cc=nrupal.jani@intel.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=tianyu.lan@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.