From: "Michael S. Tsirkin" <mst@redhat.com>
To: si-wei liu <si-wei.liu@oracle.com>
Cc: Venu Busireddy <venu.busireddy@oracle.com>,
Marcel Apfelbaum <marcel@redhat.com>,
virtio-dev@lists.oasis-open.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [virtio-dev] Re: [PATCH v3 0/5] Support for datapath switching during live migration
Date: Mon, 7 Jan 2019 21:25:04 -0500 [thread overview]
Message-ID: <20190107212122-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <7f230258-0950-9155-ec9c-6c6102ed2c2b@oracle.com>
On Mon, Jan 07, 2019 at 05:45:22PM -0800, si-wei liu wrote:
>
>
> On 01/07/2019 03:32 PM, Michael S. Tsirkin wrote:
> > On Mon, Jan 07, 2019 at 05:29:39PM -0500, Venu Busireddy wrote:
> > > Implement the infrastructure to support datapath switching during live
> > > migration involving SR-IOV devices.
> > >
> > > 1. This patch is based off on the current VIRTIO_NET_F_STANDBY feature
> > > bit and MAC address device pairing.
> > >
> > > 2. This set of events will be consumed by userspace management software
> > > to orchestrate all the hot plug and datapath switching activities.
> > > This scheme has the least QEMU modifications while allowing userspace
> > > software to build its own intelligence to control the whole process
> > > of SR-IOV live migration.
> > >
> > > 3. While the hidden device model (viz. coupled device model) is still
> > > being explored for automatic hot plugging (QEMU) and automatic datapath
> > > switching (host-kernel), this series provides a supplemental set
> > > of interfaces if management software wants to drive the SR-IOV live
> > > migration on its own. It should not conflict with the hidden device
> > > model but just offers simplicity of implementation.
> > >
> > >
> > > Si-Wei Liu (2):
> > > vfio-pci: Add FAILOVER_PRIMARY_CHANGED event to shorten downtime during failover
> > > pci: query command extension to check the bus master enabling status of the failover-primary device
> > >
> > > Sridhar Samudrala (1):
> > > virtio_net: Add VIRTIO_NET_F_STANDBY feature bit.
> > >
> > > Venu Busireddy (2):
> > > virtio_net: Add support for "Data Path Switching" during Live Migration.
> > > virtio_net: Add a query command for FAILOVER_STANDBY_CHANGED event.
> > >
> > > ---
> > > Changes in v3:
> > > Fix issues with coding style in patch 3/5.
> > >
> > > Changes in v2:
> > > Added a query command for FAILOVER_STANDBY_CHANGED event.
> > > Added a query command for FAILOVER_PRIMARY_CHANGED event.
> > Hmm it looks like all feedback I sent e.g. here:
> > https://patchwork.kernel.org/patch/10721571/
> > got ignored.
> >
> > To summarize I suggest reworking the series adding a new command along
> > the lines of (naming is up to you):
> >
> > query-pci-master - this returns status for a device
> > and enables a *single* event after
> > it changes
> >
> > and then removing all status data from the event,
> > just notify about the change and *only once*.
> Why removing all status data from the event?
To make sure users do not forget to call query-pci-master to
re-enable more events.
> It does not hurt to keep them
> as the FAILOVER_PRIMARY_CHANGED event in general is of pretty low-frequency.
A malicious guest can make it as frequent as it wants to.
OTOH there is no way to limit.
> As can be seen other similar low-frequent QMP events do have data carried
> over.
>
> As this event relates to datapath switching, there's implication to coalesce
> events as packets might not get a chance to send out as nothing would ever
> happen when going through quick transitions like
> disabled->enabled->disabled. I would allow at least few packets to be sent
> over wire rather than nothing. Who knows how fast management can react and
> consume these events?
>
> Thanks,
> -Siwei
OK if it's so important for latency let's include data in the event.
Please add comments explaining that you must always re-run query
afterwards to make sure it's stable and re-enable more events.
> >
> >
> > upon event management does query-pci-master
> > and acts accordingly.
> >
> >
> >
> >
> > > hmp.c | 5 +++
> > > hw/acpi/pcihp.c | 27 +++++++++++
> > > hw/net/virtio-net.c | 42 +++++++++++++++++
> > > hw/pci/pci.c | 5 +++
> > > hw/vfio/pci.c | 60 +++++++++++++++++++++++++
> > > hw/vfio/pci.h | 1 +
> > > include/hw/pci/pci.h | 1 +
> > > include/hw/virtio/virtio-net.h | 1 +
> > > include/net/net.h | 2 +
> > > net/net.c | 61 +++++++++++++++++++++++++
> > > qapi/misc.json | 5 ++-
> > > qapi/net.json | 100 +++++++++++++++++++++++++++++++++++++++++
> > > 12 files changed, 309 insertions(+), 1 deletion(-)
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> > For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
> >
next prev parent reply other threads:[~2019-01-08 2:25 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-07 22:29 [Qemu-devel] [PATCH v3 0/5] Support for datapath switching during live migration Venu Busireddy
2019-01-07 22:29 ` [Qemu-devel] [PATCH v3 1/5] virtio_net: Add VIRTIO_NET_F_STANDBY feature bit Venu Busireddy
2019-01-08 16:56 ` Dongli Zhang
2019-01-08 17:25 ` Venu Busireddy
2019-01-09 0:14 ` Dongli Zhang
2019-01-09 0:18 ` Samudrala, Sridhar
2019-01-09 0:39 ` Dongli Zhang
2019-01-09 4:17 ` Michael S. Tsirkin
2019-01-07 22:29 ` [Qemu-devel] [PATCH v3 2/5] virtio_net: Add support for "Data Path Switching" during Live Migration Venu Busireddy
2019-01-09 13:39 ` [Qemu-devel] [virtio-dev] " Cornelia Huck
2019-01-09 15:56 ` [Qemu-devel] " Michael S. Tsirkin
2019-01-11 2:09 ` si-wei liu
2019-01-11 3:20 ` Michael S. Tsirkin
2019-01-11 7:09 ` [Qemu-devel] [virtio-dev] " si-wei liu
2019-01-14 11:10 ` Roman Kagan
2019-01-07 22:29 ` [Qemu-devel] [PATCH v3 3/5] virtio_net: Add a query command for FAILOVER_STANDBY_CHANGED event Venu Busireddy
2019-01-08 0:10 ` Michael S. Tsirkin
2019-01-07 22:29 ` [Qemu-devel] [PATCH v3 4/5] vfio-pci: Add FAILOVER_PRIMARY_CHANGED event to shorten downtime during failover Venu Busireddy
2019-01-07 23:17 ` Alex Williamson
2019-01-07 23:22 ` Michael S. Tsirkin
2019-01-07 23:41 ` Alex Williamson
2019-01-08 0:12 ` Michael S. Tsirkin
2019-01-08 0:24 ` Alex Williamson
2019-01-08 0:43 ` Michael S. Tsirkin
2019-01-08 1:13 ` si-wei liu
2019-01-07 22:29 ` [Qemu-devel] [PATCH v3 5/5] pci: query command extension to check the bus master enabling status of the failover-primary device Venu Busireddy
2019-01-07 23:32 ` [Qemu-devel] [PATCH v3 0/5] Support for datapath switching during live migration Michael S. Tsirkin
2019-01-08 1:45 ` [Qemu-devel] [virtio-dev] " si-wei liu
2019-01-08 2:25 ` Michael S. Tsirkin [this message]
2019-01-09 4:55 ` si-wei liu
2019-01-09 13:39 ` Michael S. Tsirkin
2019-01-11 6:57 ` si-wei liu
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=20190107212122-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=marcel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=si-wei.liu@oracle.com \
--cc=venu.busireddy@oracle.com \
--cc=virtio-dev@lists.oasis-open.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).