All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Hanna Czenczek <hreitz@redhat.com>
Cc: virtio-fs@redhat.com, "Eugenio Pérez" <eperezma@redhat.com>,
	"Anton Kuchin" <antonkuchin@yandex-team.ru>,
	qemu-devel@nongnu.org, "Stefan Hajnoczi" <stefanha@redhat.com>
Subject: Re: [Virtio-fs] [PATCH v4 2/8] vhost-user.rst: Improve [GS]ET_VRING_BASE doc
Date: Sat, 7 Oct 2023 17:29:09 -0400	[thread overview]
Message-ID: <20231007172809-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <3523c3c6-cd0c-947d-cf84-d648ef813f66@redhat.com>

On Fri, Oct 06, 2023 at 03:58:44PM +0200, Hanna Czenczek wrote:
> On 06.10.23 15:55, Hanna Czenczek wrote:
> > On 06.10.23 10:49, Michael S. Tsirkin wrote:
> > > On Fri, Oct 06, 2023 at 09:53:53AM +0200, Hanna Czenczek wrote:
> > > > On 05.10.23 19:38, Stefan Hajnoczi wrote:
> > > > > On Wed, Oct 04, 2023 at 02:58:58PM +0200, Hanna Czenczek wrote:
> 
> [...]
> 
> > > > >    ``VHOST_USER_GET_VRING_BASE``
> > > > >      :id: 11
> > > > >      :equivalent ioctl: ``VHOST_USER_GET_VRING_BASE``
> > > > >      :request payload: vring state description
> > > > > -  :reply payload: vring state description
> > > > > +  :reply payload: vring descriptor index/indices
> > > > > +
> > > > > +  Stops the vring and returns the current descriptor index
> > > > > or indices:
> > > > > +
> > > > > +    * For a split virtqueue, returns only the 16-bit next descriptor
> > > > > +      index in the *Available Ring*.  The index in the *Used Ring* is
> > > > > +      controlled by the guest driver and can be read from the vring
> > > > > I find "is controlled by the guest driver" confusing. The
> > > > > device writes
> > > > > the Used Ring index. The driver only reads it. The device is
> > > > > the active
> > > > > party here.
> > > > Er, good point.  That breaks the whole reasoning.  Then I don’t
> > > > understand
> > > > why we do get/set the available ring index and not the used ring
> > > > index.  Do
> > > > you know why?
> > > It's simple. used ring index in memory is controlled by the device and
> > > reflects device state.
> > 
> > Exactly, it’s device state, that’s why I thought the front-end needs to
> > ensure its read and restored around the reset we currently have in
> > vhost_dev_stop()/start().
> > 
> > > device can just read it back to restore.
> > 
> > I find it strange that the device is supposed to read its own state from
> > memory.
> > 
> > > available ring index in memory is controlled by driver and does
> > > not reflect device state.
> > 
> > Why can’t the device read the available index from memory?  That value
> > is put into memory by the driver precisely so the device can read it
> > from there.
> 
> Ah, wait, is the idea that the device may have an internal available index
> counter that reflects what descriptor it has already fetched? I.e. this
> index will lag behind the one in memory, and the difference are new
> descriptors that the device still needs to read? If that internal counter is
> the index that’s get/set here, then yes, that makes a lot of sense.
> 
> Hanna

Exactly. And this gets eventually written out as used index.

-- 
MST


  reply	other threads:[~2023-10-07 21:29 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-04 12:58 [Virtio-fs] [PATCH v4 0/8] vhost-user: Back-end state migration Hanna Czenczek
2023-10-04 12:58 ` Hanna Czenczek
2023-10-04 12:58 ` [Virtio-fs] [PATCH v4 1/8] vhost-user.rst: Deprecate [GS]ET_STATUS Hanna Czenczek
2023-10-04 12:58   ` Hanna Czenczek
2023-10-05 17:08   ` [Virtio-fs] " Stefan Hajnoczi
2023-10-05 17:08     ` Stefan Hajnoczi
2023-10-05 17:15     ` [Virtio-fs] (no subject) Michael S. Tsirkin
2023-10-05 17:15       ` Michael S. Tsirkin
2023-10-06  7:48       ` [Virtio-fs] (no subject) Hanna Czenczek
2023-10-06  8:45         ` Michael S. Tsirkin
2023-10-06  9:15           ` Hanna Czenczek
2023-10-06  9:26             ` Michael S. Tsirkin
2023-10-06  9:47               ` Hanna Czenczek
2023-10-06 10:34                 ` Michael S. Tsirkin
2023-10-06 11:42                   ` Hanna Czenczek
2023-10-06 15:17                     ` Alex Bennée
2023-10-06 15:47                       ` Hanna Czenczek
2023-10-06 20:49                         ` Alex Bennée
2023-10-09  8:07                           ` Hanna Czenczek
2023-10-07  2:22                   ` Yajun Wu
2023-10-09  8:21                     ` Hanna Czenczek
2023-10-09  9:07                       ` Hanna Czenczek
2023-10-09  9:13                         ` Hanna Czenczek
2023-10-10  4:00                           ` Yajun Wu
2023-10-10  8:18                             ` Hanna Czenczek
2023-10-10 10:36                               ` Alex Bennée
2023-10-10 13:18                                 ` Hanna Czenczek
2023-10-10 14:35                                   ` Alex Bennée
2023-10-13 18:02                                     ` Hanna Czenczek
2023-10-17  7:49                                       ` Viresh Kumar
2023-10-17  8:13                                         ` Hanna Czenczek
2023-10-09 10:28                     ` German Maglione
2023-10-10  2:56                       ` Yajun Wu
2023-10-10 10:04                         ` German Maglione
2023-10-04 12:58 ` [Virtio-fs] [PATCH v4 2/8] vhost-user.rst: Improve [GS]ET_VRING_BASE doc Hanna Czenczek
2023-10-04 12:58   ` Hanna Czenczek
2023-10-05 17:38   ` [Virtio-fs] " Stefan Hajnoczi
2023-10-05 17:38     ` Stefan Hajnoczi
2023-10-06  7:53     ` [Virtio-fs] " Hanna Czenczek
2023-10-06  8:49       ` Michael S. Tsirkin
2023-10-06 13:55         ` Hanna Czenczek
2023-10-06 13:58           ` Hanna Czenczek
2023-10-07 21:29             ` Michael S. Tsirkin [this message]
2023-10-07 21:27           ` Michael S. Tsirkin
2023-10-04 12:58 ` [Virtio-fs] [PATCH v4 3/8] vhost-user.rst: Clarify enabling/disabling vrings Hanna Czenczek
2023-10-04 12:58   ` Hanna Czenczek
2023-10-05 17:43   ` [Virtio-fs] " Stefan Hajnoczi
2023-10-05 17:43     ` Stefan Hajnoczi
2023-10-18 12:14   ` [Virtio-fs] " Michael S. Tsirkin
2023-10-18 12:14     ` Michael S. Tsirkin
2023-10-18 16:17     ` [Virtio-fs] " Hanna Czenczek
2023-10-18 16:17       ` Hanna Czenczek
2023-10-04 12:59 ` [Virtio-fs] [PATCH v4 4/8] vhost-user.rst: Introduce suspended state Hanna Czenczek
2023-10-04 12:59   ` Hanna Czenczek
2023-10-05 17:44   ` [Virtio-fs] " Stefan Hajnoczi
2023-10-05 17:44     ` Stefan Hajnoczi
2023-10-04 12:59 ` [Virtio-fs] [PATCH v4 5/8] vhost-user.rst: Migrating back-end-internal state Hanna Czenczek
2023-10-04 12:59   ` Hanna Czenczek
2023-10-05 17:46   ` [Virtio-fs] " Stefan Hajnoczi
2023-10-05 17:46     ` Stefan Hajnoczi
2023-10-04 12:59 ` [Virtio-fs] [PATCH v4 6/8] vhost-user: Interface for migration state transfer Hanna Czenczek
2023-10-04 12:59   ` Hanna Czenczek
2023-10-05 17:46   ` [Virtio-fs] " Stefan Hajnoczi
2023-10-05 17:46     ` Stefan Hajnoczi
2023-10-04 12:59 ` [Virtio-fs] [PATCH v4 7/8] vhost: Add high-level state save/load functions Hanna Czenczek
2023-10-04 12:59   ` Hanna Czenczek
2023-10-05 17:46   ` [Virtio-fs] " Stefan Hajnoczi
2023-10-05 17:46     ` Stefan Hajnoczi
2023-10-04 12:59 ` [Virtio-fs] [PATCH v4 8/8] vhost-user-fs: Implement internal migration Hanna Czenczek
2023-10-04 12:59   ` Hanna Czenczek
2023-10-05 17:46   ` [Virtio-fs] " Stefan Hajnoczi
2023-10-05 17:46     ` Stefan Hajnoczi
2023-10-05 17:48 ` [Virtio-fs] [PATCH v4 0/8] vhost-user: Back-end state migration Stefan Hajnoczi
2023-10-05 17:48   ` Stefan Hajnoczi

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=20231007172809-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=antonkuchin@yandex-team.ru \
    --cc=eperezma@redhat.com \
    --cc=hreitz@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 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.