All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.duyck@gmail.com>
To: Lan Tianyu <tianyu.lan@intel.com>,
	a.motakis@virtualopensystems.com, alex.williamson@redhat.com,
	b.reynal@virtualopensystems.com, bhelgaas@google.com,
	carolyn.wyborny@intel.com, donald.c.skidmore@intel.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,
	mark.d.rustad@intel.com, mst@redhat.com, eric.auger@linaro.org,
	intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com,
	jesse.brandeburg@intel.com, john.ronciak@intel.com,
	linux-api@vger.kernel.org, linux-kernel@vger.kernel.org,
	matthew.vick@intel.com, mitch.a.williams@intel.com,
	netdev@vger.kernel.org, shannon.nelson@intel.com,
	weiyang@linux.vnet.ibm.com, zajec5@gmail.com
Subject: Re: [RFC PATCH V2 0/3] IXGBE/VFIO: Add live migration support for SRIOV NIC
Date: Tue, 24 Nov 2015 06:20:29 -0800	[thread overview]
Message-ID: <5654722D.4010409@gmail.com> (raw)
In-Reply-To: <1448372298-28386-1-git-send-email-tianyu.lan@intel.com>

On 11/24/2015 05:38 AM, Lan Tianyu wrote:
> This patchset is to propose a solution of adding live migration
> support for SRIOV NIC.
>
> During migration, Qemu needs to let VF driver in the VM to know
> migration start and end. Qemu adds faked PCI migration capability
> to help to sync status between two sides during migration.
>
> Qemu triggers VF's mailbox irq via sending MSIX msg when migration
> status is changed. VF driver tells Qemu its mailbox vector index
> via the new PCI capability. In some cases(NIC is suspended or closed),
> VF mailbox irq is freed and VF driver can disable irq injecting via
> new capability.
>
> VF driver will put down nic before migration and put up again on
> the target machine.
>
> Lan Tianyu (3):
>    VFIO: Add new ioctl cmd VFIO_GET_PCI_CAP_INFO
>    PCI: Add macros for faked PCI migration capability
>    Ixgbevf: Add migration support for ixgbevf driver
>
>   drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |   5 ++
>   drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 102 ++++++++++++++++++++++
>   drivers/vfio/pci/vfio_pci.c                       |  21 +++++
>   drivers/vfio/pci/vfio_pci_config.c                |  38 ++++++--
>   drivers/vfio/pci/vfio_pci_private.h               |   5 ++
>   include/uapi/linux/pci_regs.h                     |  18 +++-
>   include/uapi/linux/vfio.h                         |  12 +++
>   7 files changed, 194 insertions(+), 7 deletions(-)

I'm still not a fan of this approach.  I really feel like this is 
something that should be resolved by extending the existing PCI hot-plug 
rather than trying to instrument this per driver.  Then you will get the 
goodness for multiple drivers and multiple OSes instead of just one.  An 
added advantage to dealing with this in the PCI hot-plug environment 
would be that you could then still do a hot-plug even if the guest 
didn't load a driver for the VF since you would be working with the PCI 
slot instead of the device itself.

- Alex

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Duyck <alexander.duyck@gmail.com>
To: Lan Tianyu <tianyu.lan@intel.com>,
	a.motakis@virtualopensystems.com, alex.williamson@redhat.com,
	b.reynal@virtualopensystems.com, bhelgaas@google.com,
	carolyn.wyborny@intel.com, donald.c.skidmore@intel.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,
	mark.d.rustad@intel.com, mst@redhat.com, eric.auger@linaro.org,
	intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com,
	jesse.brandeburg@intel.com, john.ronciak@intel.com,
	linux-api@vger.kernel.org, linux-kernel@vger.kernel.org,
	matthew.vick@intel.com, mitch.a.williams@intel.com,
	netdev@vger.kernel.org, shannon.nelson@intel.com,
	weiyang@linux.vnet.ibm.com, zajec5@gmail.com
Subject: Re: [Qemu-devel] [RFC PATCH V2 0/3] IXGBE/VFIO: Add live migration support for SRIOV NIC
Date: Tue, 24 Nov 2015 06:20:29 -0800	[thread overview]
Message-ID: <5654722D.4010409@gmail.com> (raw)
In-Reply-To: <1448372298-28386-1-git-send-email-tianyu.lan@intel.com>

On 11/24/2015 05:38 AM, Lan Tianyu wrote:
> This patchset is to propose a solution of adding live migration
> support for SRIOV NIC.
>
> During migration, Qemu needs to let VF driver in the VM to know
> migration start and end. Qemu adds faked PCI migration capability
> to help to sync status between two sides during migration.
>
> Qemu triggers VF's mailbox irq via sending MSIX msg when migration
> status is changed. VF driver tells Qemu its mailbox vector index
> via the new PCI capability. In some cases(NIC is suspended or closed),
> VF mailbox irq is freed and VF driver can disable irq injecting via
> new capability.
>
> VF driver will put down nic before migration and put up again on
> the target machine.
>
> Lan Tianyu (3):
>    VFIO: Add new ioctl cmd VFIO_GET_PCI_CAP_INFO
>    PCI: Add macros for faked PCI migration capability
>    Ixgbevf: Add migration support for ixgbevf driver
>
>   drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |   5 ++
>   drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 102 ++++++++++++++++++++++
>   drivers/vfio/pci/vfio_pci.c                       |  21 +++++
>   drivers/vfio/pci/vfio_pci_config.c                |  38 ++++++--
>   drivers/vfio/pci/vfio_pci_private.h               |   5 ++
>   include/uapi/linux/pci_regs.h                     |  18 +++-
>   include/uapi/linux/vfio.h                         |  12 +++
>   7 files changed, 194 insertions(+), 7 deletions(-)

I'm still not a fan of this approach.  I really feel like this is 
something that should be resolved by extending the existing PCI hot-plug 
rather than trying to instrument this per driver.  Then you will get the 
goodness for multiple drivers and multiple OSes instead of just one.  An 
added advantage to dealing with this in the PCI hot-plug environment 
would be that you could then still do a hot-plug even if the guest 
didn't load a driver for the VF since you would be working with the PCI 
slot instead of the device itself.

- Alex

WARNING: multiple messages have this Message-ID (diff)
From: Alexander Duyck <alexander.duyck@gmail.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [RFC PATCH V2 0/3] IXGBE/VFIO: Add live migration support for SRIOV NIC
Date: Tue, 24 Nov 2015 06:20:29 -0800	[thread overview]
Message-ID: <5654722D.4010409@gmail.com> (raw)
In-Reply-To: <1448372298-28386-1-git-send-email-tianyu.lan@intel.com>

On 11/24/2015 05:38 AM, Lan Tianyu wrote:
> This patchset is to propose a solution of adding live migration
> support for SRIOV NIC.
>
> During migration, Qemu needs to let VF driver in the VM to know
> migration start and end. Qemu adds faked PCI migration capability
> to help to sync status between two sides during migration.
>
> Qemu triggers VF's mailbox irq via sending MSIX msg when migration
> status is changed. VF driver tells Qemu its mailbox vector index
> via the new PCI capability. In some cases(NIC is suspended or closed),
> VF mailbox irq is freed and VF driver can disable irq injecting via
> new capability.
>
> VF driver will put down nic before migration and put up again on
> the target machine.
>
> Lan Tianyu (3):
>    VFIO: Add new ioctl cmd VFIO_GET_PCI_CAP_INFO
>    PCI: Add macros for faked PCI migration capability
>    Ixgbevf: Add migration support for ixgbevf driver
>
>   drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |   5 ++
>   drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 102 ++++++++++++++++++++++
>   drivers/vfio/pci/vfio_pci.c                       |  21 +++++
>   drivers/vfio/pci/vfio_pci_config.c                |  38 ++++++--
>   drivers/vfio/pci/vfio_pci_private.h               |   5 ++
>   include/uapi/linux/pci_regs.h                     |  18 +++-
>   include/uapi/linux/vfio.h                         |  12 +++
>   7 files changed, 194 insertions(+), 7 deletions(-)

I'm still not a fan of this approach.  I really feel like this is 
something that should be resolved by extending the existing PCI hot-plug 
rather than trying to instrument this per driver.  Then you will get the 
goodness for multiple drivers and multiple OSes instead of just one.  An 
added advantage to dealing with this in the PCI hot-plug environment 
would be that you could then still do a hot-plug even if the guest 
didn't load a driver for the VF since you would be working with the PCI 
slot instead of the device itself.

- Alex

  parent reply	other threads:[~2015-11-24 14:20 UTC|newest]

Thread overview: 173+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-24 13:38 [RFC PATCH V2 0/3] IXGBE/VFIO: Add live migration support for SRIOV NIC Lan Tianyu
2015-11-24 13:38 ` [Intel-wired-lan] " Lan Tianyu
2015-11-24 13:38 ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:38 ` [RFC PATCH V2 1/3] VFIO: Add new ioctl cmd VFIO_GET_PCI_CAP_INFO Lan Tianyu
2015-11-24 13:38   ` [Intel-wired-lan] " Lan Tianyu
2015-11-24 13:38   ` Lan Tianyu
2015-11-24 13:38   ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:38 ` [RFC PATCH V2 2/3] PCI: Add macros for faked PCI migration capability Lan Tianyu
2015-11-24 13:38   ` [Intel-wired-lan] " Lan Tianyu
2015-11-24 13:38   ` Lan Tianyu
2015-11-24 13:38   ` [Qemu-devel] " Lan Tianyu
2015-11-24 13:38 ` [RFC PATCH V2 3/3] Ixgbevf: Add migration support for ixgbevf driver Lan Tianyu
2015-11-24 13:38   ` [Intel-wired-lan] " Lan Tianyu
2015-11-24 13:38   ` [Qemu-devel] " Lan Tianyu
2015-11-24 21:20   ` Michael S. Tsirkin
2015-11-24 21:20     ` [Intel-wired-lan] " Michael S. Tsirkin
2015-11-24 21:20     ` [Qemu-devel] " Michael S. Tsirkin
2015-11-25  5:39     ` Alexander Duyck
2015-11-25  5:39       ` [Intel-wired-lan] " Alexander Duyck
2015-11-25  5:39       ` Alexander Duyck
2015-11-25  5:39       ` Alexander Duyck
2015-11-25  5:39       ` [Qemu-devel] " Alexander Duyck
2015-11-25  5:39     ` Lan Tianyu
2015-11-25  5:39       ` [Intel-wired-lan] " Lan Tianyu
2015-11-25  5:39       ` Lan Tianyu
2015-11-25  5:39       ` [Qemu-devel] " Lan Tianyu
2015-11-25 12:28       ` Michael S. Tsirkin
2015-11-25 12:28         ` [Intel-wired-lan] " Michael S. Tsirkin
2015-11-25 12:28         ` Michael S. Tsirkin
2015-11-25 12:28         ` [Qemu-devel] " Michael S. Tsirkin
2015-11-25 16:02         ` Lan, Tianyu
2015-11-25 16:02           ` [Intel-wired-lan] " Lan, Tianyu
2015-11-25 16:02           ` Lan, Tianyu
2015-11-25 16:02           ` [Qemu-devel] " Lan, Tianyu
2015-11-25 16:22           ` Michael S. Tsirkin
2015-11-25 16:22             ` [Intel-wired-lan] " Michael S. Tsirkin
2015-11-25 16:22             ` [Qemu-devel] " Michael S. Tsirkin
2015-11-25 16:24           ` Alexander Duyck
2015-11-25 16:24             ` [Intel-wired-lan] " Alexander Duyck
2015-11-25 16:24             ` Alexander Duyck
2015-11-25 16:24             ` Alexander Duyck
2015-11-25 16:24             ` [Qemu-devel] " Alexander Duyck
2015-11-25 16:39             ` Michael S. Tsirkin
2015-11-25 16:39               ` [Intel-wired-lan] " Michael S. Tsirkin
2015-11-25 16:39               ` Michael S. Tsirkin
2015-11-25 16:39               ` Michael S. Tsirkin
2015-11-25 16:39               ` [Qemu-devel] " Michael S. Tsirkin
2015-11-25 17:24               ` Alexander Duyck
2015-11-25 17:24                 ` [Intel-wired-lan] " Alexander Duyck
2015-11-25 17:24                 ` Alexander Duyck
2015-11-25 17:24                 ` Alexander Duyck
2015-11-25 17:24                 ` [Qemu-devel] " Alexander Duyck
2015-11-24 14:20 ` Alexander Duyck [this message]
2015-11-24 14:20   ` [Intel-wired-lan] [RFC PATCH V2 0/3] IXGBE/VFIO: Add live migration support for SRIOV NIC Alexander Duyck
2015-11-24 14:20   ` [Qemu-devel] " Alexander Duyck
2015-11-25  3:18   ` Lan Tianyu
2015-11-25  3:18     ` [Intel-wired-lan] " Lan Tianyu
2015-11-25  3:18     ` Lan Tianyu
2015-11-25  3:18     ` [Qemu-devel] " Lan Tianyu
2015-11-25  5:30     ` Alexander Duyck
2015-11-25  5:30       ` [Intel-wired-lan] " Alexander Duyck
2015-11-25  5:30       ` Alexander Duyck
2015-11-25  5:30       ` Alexander Duyck
2015-11-25  5:30       ` [Qemu-devel] " Alexander Duyck
2015-11-25  8:21       ` Lan Tianyu
2015-11-25  8:21         ` [Intel-wired-lan] " Lan Tianyu
2015-11-25  8:21         ` Lan Tianyu
2015-11-25  8:21         ` Lan Tianyu
2015-11-25  8:21         ` [Qemu-devel] " Lan Tianyu
2015-11-25 15:32         ` Alexander Duyck
2015-11-25 15:32           ` [Intel-wired-lan] " Alexander Duyck
2015-11-25 15:32           ` Alexander Duyck
2015-11-25 15:32           ` Alexander Duyck
2015-11-25 15:32           ` [Qemu-devel] " Alexander Duyck
2015-11-26  3:15           ` Dong, Eddie
2015-11-26  3:15             ` [Intel-wired-lan] " Dong, Eddie
2015-11-26  3:15             ` Dong, Eddie
2015-11-26  3:15             ` Dong, Eddie
2015-11-26  3:15             ` [Qemu-devel] " Dong, Eddie
2015-11-26  3:56             ` Alexander Duyck
2015-11-26  3:56               ` [Intel-wired-lan] " Alexander Duyck
2015-11-26  3:56               ` Alexander Duyck
2015-11-26  3:56               ` Alexander Duyck
2015-11-26  3:56               ` [Qemu-devel] " Alexander Duyck
2015-11-30  6:53               ` Lan, Tianyu
2015-11-30  6:53                 ` [Intel-wired-lan] " Lan, Tianyu
2015-11-30  6:53                 ` Lan, Tianyu
2015-11-30  6:53                 ` Lan, Tianyu
2015-11-30  6:53                 ` [Qemu-devel] " Lan, Tianyu
2015-11-30 16:07                 ` Alexander Duyck
2015-11-30 16:07                   ` [Intel-wired-lan] " Alexander Duyck
2015-11-30 16:07                   ` Alexander Duyck
2015-11-30 16:07                   ` [Qemu-devel] " Alexander Duyck
2015-12-01 15:04                   ` Lan, Tianyu
2015-12-01 15:04                     ` [Intel-wired-lan] " Lan, Tianyu
2015-12-01 15:04                     ` Lan, Tianyu
2015-12-01 15:04                     ` [Qemu-devel] " Lan, Tianyu
2015-12-01 15:28                     ` Michael S. Tsirkin
2015-12-01 15:28                       ` [Intel-wired-lan] " Michael S. Tsirkin
2015-12-01 15:28                       ` Michael S. Tsirkin
2015-12-01 15:28                       ` Michael S. Tsirkin
2015-12-01 15:28                       ` [Qemu-devel] " Michael S. Tsirkin
2015-12-01 17:04                       ` Alexander Duyck
2015-12-01 17:04                         ` [Intel-wired-lan] " Alexander Duyck
2015-12-01 17:04                         ` Alexander Duyck
2015-12-01 17:04                         ` [Qemu-devel] " Alexander Duyck
2015-12-01 17:37                         ` Michael S. Tsirkin
2015-12-01 17:37                           ` [Intel-wired-lan] " Michael S. Tsirkin
2015-12-01 17:37                           ` Michael S. Tsirkin
2015-12-01 17:37                           ` [Qemu-devel] " Michael S. Tsirkin
2015-12-01 18:36                           ` Alexander Duyck
2015-12-01 18:36                             ` [Intel-wired-lan] " Alexander Duyck
2015-12-01 18:36                             ` Alexander Duyck
2015-12-01 18:36                             ` [Qemu-devel] " Alexander Duyck
2015-12-02 11:44                             ` Michael S. Tsirkin
2015-12-02 11:44                               ` [Intel-wired-lan] " Michael S. Tsirkin
2015-12-02 11:44                               ` Michael S. Tsirkin
2015-12-02 11:44                               ` [Qemu-devel] " Michael S. Tsirkin
2015-12-04 16:32                               ` Lan, Tianyu
2015-12-04 16:32                                 ` [Intel-wired-lan] " Lan, Tianyu
2015-12-04 16:32                                 ` Lan, Tianyu
2015-12-04 16:32                                 ` Lan, Tianyu
2015-12-04 16:32                                 ` [Qemu-devel] " Lan, Tianyu
2015-12-04 17:07                                 ` Alexander Duyck
2015-12-04 17:07                                   ` [Intel-wired-lan] " Alexander Duyck
2015-12-04 17:07                                   ` Alexander Duyck
2015-12-04 17:07                                   ` Alexander Duyck
2015-12-04 17:07                                   ` [Qemu-devel] " Alexander Duyck
2015-12-07 15:40                                   ` Lan, Tianyu
2015-12-07 15:40                                     ` [Intel-wired-lan] " Lan, Tianyu
2015-12-07 15:40                                     ` Lan, Tianyu
2015-12-07 15:40                                     ` Lan, Tianyu
2015-12-07 15:40                                     ` [Qemu-devel] " Lan, Tianyu
2015-12-07 17:12                                     ` Alexander Duyck
2015-12-07 17:12                                       ` [Intel-wired-lan] " Alexander Duyck
2015-12-07 17:12                                       ` Alexander Duyck
2015-12-07 17:12                                       ` [Qemu-devel] " Alexander Duyck
2015-12-07 17:39                                       ` Michael S. Tsirkin
2015-12-07 17:39                                         ` [Intel-wired-lan] " Michael S. Tsirkin
2015-12-07 17:39                                         ` Michael S. Tsirkin
2015-12-07 17:39                                         ` [Qemu-devel] " Michael S. Tsirkin
2015-12-07 18:42                                         ` Alexander Duyck
2015-12-07 18:42                                           ` [Intel-wired-lan] " Alexander Duyck
2015-12-07 18:42                                           ` Alexander Duyck
2015-12-07 18:42                                           ` [Qemu-devel] " Alexander Duyck
2015-12-09  9:28                                       ` Lan, Tianyu
2015-12-09  9:28                                         ` [Intel-wired-lan] " Lan, Tianyu
2015-12-09  9:28                                         ` Lan, Tianyu
2015-12-09  9:28                                         ` [Qemu-devel] " Lan, Tianyu
2015-12-09 16:36                                         ` Alexander Duyck
2015-12-09 16:36                                           ` [Intel-wired-lan] " Alexander Duyck
2015-12-09 16:36                                           ` Alexander Duyck
2015-12-09 16:36                                           ` [Qemu-devel] " Alexander Duyck
2015-12-09 10:37                                 ` Michael S. Tsirkin
2015-12-09 10:37                                   ` [Intel-wired-lan] " Michael S. Tsirkin
2015-12-09 10:37                                   ` Michael S. Tsirkin
2015-12-09 10:37                                   ` Michael S. Tsirkin
2015-12-09 10:37                                   ` [Qemu-devel] " Michael S. Tsirkin
2015-12-09 11:19                                   ` Lan, Tianyu
2015-12-09 11:19                                     ` [Intel-wired-lan] " Lan, Tianyu
2015-12-09 11:19                                     ` Lan, Tianyu
2015-12-09 11:19                                     ` Lan, Tianyu
2015-12-09 11:19                                     ` [Qemu-devel] " Lan, Tianyu
2015-12-09 11:28                                     ` Michael S. Tsirkin
2015-12-09 11:28                                       ` [Intel-wired-lan] " Michael S. Tsirkin
2015-12-09 11:28                                       ` Michael S. Tsirkin
2015-12-09 11:28                                       ` Michael S. Tsirkin
2015-12-09 11:28                                       ` [Qemu-devel] " Michael S. Tsirkin
2015-12-09 11:41                                       ` Lan, Tianyu
2015-12-09 11:41                                         ` [Intel-wired-lan] " Lan, Tianyu
2015-12-09 11:41                                         ` Lan, Tianyu
2015-12-09 11:41                                         ` Lan, Tianyu
2015-12-09 11:41                                         ` [Qemu-devel] " 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=5654722D.4010409@gmail.com \
    --to=alexander.duyck@gmail.com \
    --cc=a.motakis@virtualopensystems.com \
    --cc=agraf@suse.de \
    --cc=alex.williamson@redhat.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=matthew.vick@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=tianyu.lan@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 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.