All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Halil Pasic <pasic@linux.ibm.com>
Cc: Eric Farman <farman@linux.ibm.com>,
	Boris Fiuczynski <fiuczy@linux.ibm.com>,
	libvir-list@redhat.com,
	Alex Williamson <alex.williamson@redhat.com>,
	qemu-devel@nongnu.org, qemu-s390x@nongnu.org,
	Marc Hartmayer <mhartmay@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>
Subject: Availability of physical devices and migration (was: Re: [RFC PATCH 2/2] vfio-ccw: Connect the device request notifier)
Date: Fri, 20 Nov 2020 12:38:37 +0100	[thread overview]
Message-ID: <20201120123837.0b4fc3be.cohuck@redhat.com> (raw)
In-Reply-To: <20201120035107.30688e2f.pasic@linux.ibm.com>

On Fri, 20 Nov 2020 03:51:07 +0100
Halil Pasic <pasic@linux.ibm.com> wrote:

> On Tue, 17 Nov 2020 04:26:05 +0100
> Eric Farman <farman@linux.ibm.com> wrote:
> 
> > Now that the vfio-ccw code has a notifier interface to request that
> > a device be unplugged, let's wire that together.  
> 
> I'm aware of the fact that performing an unplug is what vfio-pci does,
> but I was not aware of this before, and I became curious with regards
> to how is this going to mesh with migration (in the future).
> 
> The sentence 'For this to work, QEMU has to be launched with the same
> arguments the two times.' form docs/devel/migration.rst should not
> be taken literally, I know, but the VM configuration changing not because
> it was changed via a management interface, but because of events that
> may not be under the control of whoever is managing the VM does
> make thinks harder to reason about.
> 
> I suppose, we now basically mandate that whoever manages the VM, either
> a) maintains his own model of the VM and listens to the events, to
> update it if such a device removal happens, or
> b) inspects the VM at some appropriate point in time, to figure out how
> the target VM is supposed to be started.
> 
> I think libvirt does a).

This seems like something that would be of general interest to libvirt
folks, adding the list on cc:.

For virtual devices, QEMU and any management software are in full
control, and can simply make sure that both source and target have the
device available.

For physical devices, we still can make sure that source and target
match when we do the setup, but device failures can happen at
inconvenient times. It may suddenly be no longer possible to access
state etc. Can we propagate changes like "device foobar, don't bother
migrating" even when we already started migration? Should the handling
be different if the target system uses a different (compatible) device?
Should we fail the migration?

> 
> I also suppose, such a device removal may not happen during device
> migration. That is, form the QEMU perspective I  believe taken care
> by the BQL.

Even if the device is not actually removed, it might still be
inaccessible.

> 
> But I'm in the dark regarding the management software/libivrt view. For
> example what happens if we get a req_notification on the target while
> pre-copy memory migration? At that point the destination is already
> receiving pages, thus it is already constructed.
> 
> My questions are not necessarily addressed to you Eric. Maybe the
> folks working on vfio migration can help us out. I'm also adding
> our libvirt guys.
> 
> Regards,
> Halil
> 



  reply	other threads:[~2020-11-20 11:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-17  3:26 [RFC PATCH 0/2] vfio-ccw: Implement request notifier Eric Farman
2020-11-17  3:26 ` [RFC PATCH 1/2] Update linux headers Eric Farman
2020-11-17  3:26 ` [RFC PATCH 2/2] vfio-ccw: Connect the device request notifier Eric Farman
2020-11-19 11:58   ` Cornelia Huck
2020-11-20  2:51   ` Halil Pasic
2020-11-20 11:38     ` Cornelia Huck [this message]
2020-11-20 12:29       ` Availability of physical devices and migration (was: Re: [RFC PATCH 2/2] vfio-ccw: Connect the device request notifier) Halil Pasic

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=20201120123837.0b4fc3be.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=fiuczy@linux.ibm.com \
    --cc=libvir-list@redhat.com \
    --cc=mhartmay@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=thuth@redhat.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.