From: "Lan, Tianyu" <tianyu.lan@intel.com>
To: Alexander Duyck <alexander.duyck@gmail.com>,
"Dong, Eddie" <eddie.dong@intel.com>
Cc: Wei Yang <weiyang@linux.vnet.ibm.com>,
"Tantilov, Emil S" <emil.s.tantilov@intel.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"Brandeburg, Jesse" <jesse.brandeburg@intel.com>,
"Rustad, Mark D" <mark.d.rustad@intel.com>,
"Wyborny, Carolyn" <carolyn.wyborny@intel.com>,
Eric Auger <eric.auger@linaro.org>,
"Skidmore, Donald C" <donald.c.skidmore@intel.com>,
"zajec5@gmail.com" <zajec5@gmail.com>,
Alexander Graf <agraf@suse.de>,
intel-wired-lan <intel-wired-lan@lists.osuosl.org>,
"Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com>,
Or Gerlitz <gerlitz.or@gmail.com>,
"Williams, Mitch A" <mitch.a.williams@intel.com>,
"Jani, Nrupal" <nrupal.jani@intel.com>,
Bjorn Helgaas <bhelgaas@google.com>,
"a.motakis@virtualopensystems.com"
<a.motakis@virtualopensystems.com>,
"b.reynal@virtualopensystems.com"
<b.reynal@virtualopensystems.com>,
"linux-api@vger.kernel.org" <linux-api@vger.kernel.org>,
"Nelson, Shannon" <shannon.nelson@intel.com>,
Alex Williamson <alex.williamson@redhat.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Ronciak, John" <john.ronciak@intel.com>,
Netdev <netdev@vger.kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [RFC PATCH V2 0/3] IXGBE/VFIO: Add live migration support for SRIOV NIC
Date: Mon, 30 Nov 2015 14:53:57 +0800 [thread overview]
Message-ID: <565BF285.4040507@intel.com> (raw)
In-Reply-To: <CAKgT0Ucyq=7OSYBVvU9Z01b3f6scS+eBMLg+yphW7bwkNZosPQ@mail.gmail.com>
On 11/26/2015 11:56 AM, Alexander Duyck wrote:
> > I am not saying you cannot modify the drivers, however what you are
> doing is far too invasive. Do you seriously plan on modifying all of
> the PCI device drivers out there in order to allow any device that
> might be direct assigned to a port to support migration? I certainly
> hope not. That is why I have said that this solution will not scale.
Current drivers are not migration friendly. If the driver wants to
support migration, it's necessary to be changed.
RFC PATCH V1 presented our ideas about how to deal with MMIO, ring and
DMA tracking during migration. These are common for most drivers and
they maybe problematic in the previous version but can be corrected later.
Doing suspend and resume() may help to do migration easily but some
devices requires low service down time. Especially network and I got
that some cloud company promised less than 500ms network service downtime.
So I think performance effect also should be taken into account when we
design the framework.
>
> What I am counter proposing seems like a very simple proposition. It
> can be implemented in two steps.
>
> 1. Look at modifying dma_mark_clean(). It is a function called in
> the sync and unmap paths of the lib/swiotlb.c. If you could somehow
> modify it to take care of marking the pages you unmap for Rx as being
> dirty it will get you a good way towards your goal as it will allow
> you to continue to do DMA while you are migrating the VM.
>
> 2. Look at making use of the existing PCI suspend/resume calls that
> are there to support PCI power management. They have everything
> needed to allow you to pause and resume DMA for the device before and
> after the migration while retaining the driver state. If you can
> implement something that allows you to trigger these calls from the
> PCI subsystem such as hot-plug then you would have a generic solution
> that can be easily reproduced for multiple drivers beyond those
> supported by ixgbevf.
Glanced at PCI hotplug code. The hotplug events are triggered by PCI
hotplug controller and these event are defined in the controller spec.
It's hard to extend more events. Otherwise, we also need to add some
specific codes in the PCI hotplug core since it's only add and remove
PCI device when it gets events. It's also a challenge to modify Windows
hotplug codes. So we may need to find another way.
>
> Thanks.
>
> - Alex
next prev parent reply other threads:[~2015-11-30 6:54 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-24 13:38 [Qemu-devel] [RFC PATCH V2 0/3] IXGBE/VFIO: Add live migration support for SRIOV NIC Lan Tianyu
2015-11-24 13:38 ` [Qemu-devel] [RFC PATCH V2 1/3] VFIO: Add new ioctl cmd VFIO_GET_PCI_CAP_INFO Lan Tianyu
2015-11-24 13:38 ` [Qemu-devel] [RFC PATCH V2 2/3] PCI: Add macros for faked PCI migration capability Lan Tianyu
2015-11-24 13:38 ` [Qemu-devel] [RFC PATCH V2 3/3] Ixgbevf: Add migration support for ixgbevf driver Lan Tianyu
2015-11-24 21:20 ` Michael S. Tsirkin
2015-11-25 5:39 ` Alexander Duyck
2015-11-25 5:39 ` Lan Tianyu
2015-11-25 12:28 ` Michael S. Tsirkin
2015-11-25 16:02 ` Lan, Tianyu
2015-11-25 16:22 ` Michael S. Tsirkin
2015-11-25 16:24 ` Alexander Duyck
2015-11-25 16:39 ` Michael S. Tsirkin
2015-11-25 17:24 ` Alexander Duyck
2015-11-24 14:20 ` [Qemu-devel] [RFC PATCH V2 0/3] IXGBE/VFIO: Add live migration support for SRIOV NIC Alexander Duyck
2015-11-25 3:18 ` Lan Tianyu
2015-11-25 5:30 ` Alexander Duyck
2015-11-25 8:21 ` Lan Tianyu
2015-11-25 15:32 ` Alexander Duyck
2015-11-26 3:15 ` Dong, Eddie
2015-11-26 3:56 ` Alexander Duyck
2015-11-30 6:53 ` Lan, Tianyu [this message]
2015-11-30 16:07 ` Alexander Duyck
2015-12-01 15:04 ` Lan, Tianyu
2015-12-01 15:28 ` Michael S. Tsirkin
2015-12-01 17:04 ` Alexander Duyck
2015-12-01 17:37 ` Michael S. Tsirkin
2015-12-01 18:36 ` Alexander Duyck
2015-12-02 11:44 ` Michael S. Tsirkin
2015-12-04 16:32 ` Lan, Tianyu
2015-12-04 17:07 ` Alexander Duyck
2015-12-07 15:40 ` Lan, Tianyu
2015-12-07 17:12 ` Alexander Duyck
2015-12-07 17:39 ` Michael S. Tsirkin
2015-12-07 18:42 ` Alexander Duyck
2015-12-09 9:28 ` Lan, Tianyu
2015-12-09 16:36 ` Alexander Duyck
2015-12-09 10:37 ` Michael S. Tsirkin
2015-12-09 11:19 ` Lan, Tianyu
2015-12-09 11:28 ` Michael S. Tsirkin
2015-12-09 11:41 ` Lan, Tianyu
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=565BF285.4040507@intel.com \
--to=tianyu.lan@intel.com \
--cc=a.motakis@virtualopensystems.com \
--cc=agraf@suse.de \
--cc=alex.williamson@redhat.com \
--cc=alexander.duyck@gmail.com \
--cc=b.reynal@virtualopensystems.com \
--cc=bhelgaas@google.com \
--cc=carolyn.wyborny@intel.com \
--cc=donald.c.skidmore@intel.com \
--cc=eddie.dong@intel.com \
--cc=emil.s.tantilov@intel.com \
--cc=eric.auger@linaro.org \
--cc=gerlitz.or@gmail.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jesse.brandeburg@intel.com \
--cc=john.ronciak@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.d.rustad@intel.com \
--cc=mitch.a.williams@intel.com \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=nrupal.jani@intel.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=shannon.nelson@intel.com \
--cc=weiyang@linux.vnet.ibm.com \
--cc=zajec5@gmail.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 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).