qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Hanna Czenczek <hreitz@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: virtio-fs@redhat.com, "Eugenio Pérez" <eperezma@redhat.com>,
	qemu-devel@nongnu.org, "Michael S . Tsirkin" <mst@redhat.com>
Subject: Re: [Virtio-fs] [PATCH v3 0/5] vhost-user: Back-end state migration
Date: Tue, 26 Sep 2023 15:32:14 +0200	[thread overview]
Message-ID: <fc005d50-03ba-0b8f-d9af-64a5297395a3@redhat.com> (raw)
In-Reply-To: <20230925204852.GG323580@fedora>

On 25.09.23 22:48, Stefan Hajnoczi wrote:
> On Fri, Sep 15, 2023 at 12:25:25PM +0200, Hanna Czenczek wrote:
>> RFC:
>> https://lists.nongnu.org/archive/html/qemu-devel/2023-03/msg04263.html
>>
>> v1:
>> https://lists.nongnu.org/archive/html/qemu-devel/2023-04/msg01575.html
>>
>> v2:
>> https://lists.nongnu.org/archive/html/qemu-devel/2023-07/msg02604.html
>>
>> Hi,
>>
>> I’ve decided not to work on vhost-user SUSPEND/RESUME for now – it is
>> not technically required for virtio-fs migration, which is the actual
>> priority for me now.  While we do want to have SUSPEND/RESUME at some
>> point, the only practically existing reason for it is to be able to
>> implement vhost-level resetting in virtiofsd, but that is not related to
>> migration.
> QEMU sends VHOST_USER_SET_STATUS 0 in vhost_dev_stop(). Are you assuming
> that virtiofs back-ends do not reset the device upon receiving this
> message?

Absolutely.  vhost_dev_stop() is not in the migration-specific path, but 
is called whenever the vCPUs are stopped, which indeed happens to be 
part of migration, but is also used in other cases, like QMP stop.  We 
have identified that it is wrong that we reset the back-end just because 
the vCPUs are stopped (e.g. on migration), but it is what we do right 
now when the VM is paused (e.g. through QMP stop).

Therefore, stateful back-ends cannot implement reset lest stop/cont 
breaks the device.  I don’t think anybody really cares whether a 
vhost-user back-end actually resets its internal state (if there is any) 
when the guest driver asks for a reset on the virtio level, as long as 
the guest driver is then able to initialize the device afterwards.  I do 
think people care that stop/cont works, so it follows to me that no 
stateful back-end will reset its internal state when receiving a 
virtio/vhost reset.  If they do, stop/cont breaks, which is a 
user-visible bug that needs to be addressed – either properly by 
implementing SUSPEND/RESUME in both qemu and the affected back-ends, or 
by using a similar work-around to virtiofsd, which is to ignore reset 
commands.

It’s hard for me to imagine that people don’t care that stop/cont breaks 
some vhost-user back-end, but suddenly would start to care that 
migration doesn’t work – especially given that first of all someone will 
need to manually implement any migration support in that back-end even 
with this series, which means that really, the only back-end we are 
talking about here is our virtiofsd.  To this day I’m not even aware of 
any other back-end that has internal state.

Hanna



  reply	other threads:[~2023-09-26 13:33 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-15 10:25 [PATCH v3 0/5] vhost-user: Back-end state migration Hanna Czenczek
2023-09-15 10:25 ` [PATCH v3 1/5] vhost-user.rst: Migrating back-end-internal state Hanna Czenczek
2023-09-25 19:04   ` Stefan Hajnoczi
2023-09-15 10:25 ` [PATCH v3 2/5] vhost-user.rst: Clarify enabling/disabling vrings Hanna Czenczek
2023-09-25 19:15   ` Stefan Hajnoczi
2023-09-26 13:54     ` Hanna Czenczek
2023-09-26 19:30       ` Stefan Hajnoczi
2023-09-15 10:25 ` [PATCH v3 3/5] vhost-user: Interface for migration state transfer Hanna Czenczek
2023-09-25 20:18   ` Stefan Hajnoczi
2023-09-15 10:25 ` [PATCH v3 4/5] vhost: Add high-level state save/load functions Hanna Czenczek
2023-09-25 20:23   ` Stefan Hajnoczi
2023-09-15 10:25 ` [PATCH v3 5/5] vhost-user-fs: Implement internal migration Hanna Czenczek
2023-09-25 20:26   ` Stefan Hajnoczi
2023-09-25 20:48 ` [PATCH v3 0/5] vhost-user: Back-end state migration Stefan Hajnoczi
2023-09-26 13:32   ` Hanna Czenczek [this message]
2023-09-26 19:20     ` [Virtio-fs] " Stefan Hajnoczi
2023-09-26 20:10       ` Stefan Hajnoczi
2023-09-27  8:32         ` Hanna Czenczek
2023-09-27 20:19           ` Stefan Hajnoczi
2023-09-27  8:13       ` Hanna Czenczek

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=fc005d50-03ba-0b8f-d9af-64a5297395a3@redhat.com \
    --to=hreitz@redhat.com \
    --cc=eperezma@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=virtio-fs@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 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).