All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Zhu, Lingshan" <lingshan.zhu@intel.com>
Cc: jasowang@redhat.com, eperezma@redhat.com, cohuck@redhat.com,
	stefanha@redhat.com, virtio-comment@lists.oasis-open.org,
	parav@nvidia.com
Subject: [virtio-comment] Re: [PATCH V2 1/6] virtio: introduce virtqueue state
Date: Tue, 7 Nov 2023 03:22:53 -0500	[thread overview]
Message-ID: <20231107031405-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <8f3f0112-1ebb-4eda-ba92-46b9941e2e30@intel.com>

On Tue, Nov 07, 2023 at 04:11:25PM +0800, Zhu, Lingshan wrote:
> 
> 
> On 11/6/2023 5:45 PM, Michael S. Tsirkin wrote:
> > On Mon, Nov 06, 2023 at 05:42:10PM +0800, Zhu, Lingshan wrote:
> > > 
> > > On 11/6/2023 5:35 PM, Michael S. Tsirkin wrote:
> > > > On Fri, Nov 03, 2023 at 10:49:42PM +0800, Zhu, Lingshan wrote:
> > > > >           +When SUSPEND is set, the device MUST record the Available State of every enabled splited virtqueue
> > > > >           +in \field{Available State} field,
> > > > >           +and correspondingly restore the Available State of every enabled splited virtqueue
> > > > >           +from \field{Available State} field when DRIVER_OK is set.
> > > > >           +
> > > > >           +The device SHOULD reset \field{Available State} field upon a device reset.
> > > > > 
> > > > >       At this point I have no idea
> > > > >       - how can a state of a virtqueue at a random time be represented
> > > > >         by a 16 bit integer
> > > > > 
> > > > > not sure what is a random time, this is to request the device to reset
> > > > > its avail state, for example, it is "le16 queue_avail_state" in virtio-pci
> > > > > common cfg. Resetting this so the device will not recover from a wrong value of
> > > > > the last run.
> > > > You simply never bother to say what is "Available State" and what
> > > > does it mean to restore it.  Not to mention words like "splited"
> > > > which just adds to the confusion.
> > > It says:
> > > +The available state field is two bytes of virtqueue state that is used by
> > > +the device to read the next available buffer. It is presented in the
> > > following format:
> > > 
> > > Do you want me to add more descriptions?
> > maybe start with an example
> I think they are already in the spec, I can add:
> see also "2.7.6 The Virtqueue Available Ring" and "2.7.13.1 Placing Buffers
> Into The Descriptor Table"
> > 
> > > > >       - if it's not at a random time then why do you even need an integer -
> > > > >         synchronize queue to memory and then all state is in memory
> > > > > 
> > > > > Not sure what is a sync queue, but for example, "le16 queue_avail_state" for
> > > > > PCI transport exists in a cap.
> > > > I just point out that normally a lot of ring state is in memory.
> > > > So you need to be much more specific about how you are augmenting that.
> > > > For example, if buffers are used exactly in order for a split ring
> > > > then used index seems to be exactly the same as last available index
> > > > you describe - it's a free running counter. OTOH if they are not
> > > > used in order then I don't see how is a single index sufficient to
> > > > describe which ones have been used and which not.
> > > I am not sure I get it.
> > > 
> > > Used idx(not like packed vq, no over-writing descriptors) and other states
> > > are in guest memory, so migrated with guest migration.
> > yes and so? why is that not enough and what is this available state then?
> The spec has illustrated how available index work and has given an
> example(see above cited sections)
> And this patch even has given a more clear description for it.
> 
> Other states are in guest memory and migrated with guest memory.

Yea I wrote large parts of it and I know how the available index works.

And sorry no idea what you are talking about.

At any time, there can be up to 2^16 buffers that have been made
available, and a random subset of these have been used. There is no
chance in the world a single 16 bit index describes even that part of
state, never mind device type specific processing that might be going
on.

As a wild guest this proposal is making a bunch of unstated assumptions
about device being in a very specific state where this *is* possible.
For people to be able to implement devices and drivers these
need to be spelled out.


-- 
MST


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


  reply	other threads:[~2023-11-07  8:23 UTC|newest]

Thread overview: 186+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-03 10:34 [virtio-comment] [PATCH V2 0/6] introduce basic facilities for virito live migration Zhu Lingshan
2023-11-03 10:34 ` [virtio-comment] [PATCH V2 1/6] virtio: introduce virtqueue state Zhu Lingshan
2023-11-03 11:35   ` [virtio-comment] " Parav Pandit
2023-11-03 14:39     ` [virtio-comment] " Zhu, Lingshan
2023-11-03 11:52   ` Michael S. Tsirkin
2023-11-03 14:49     ` Zhu, Lingshan
2023-11-06  9:35       ` Michael S. Tsirkin
2023-11-06  9:42         ` Zhu, Lingshan
2023-11-06  9:45           ` Michael S. Tsirkin
2023-11-07  8:11             ` Zhu, Lingshan
2023-11-07  8:22               ` Michael S. Tsirkin [this message]
2023-11-08  4:08                 ` Zhu, Lingshan
2023-11-03 10:34 ` [virtio-comment] [PATCH V2 2/6] virtio: introduce SUSPEND bit in device status Zhu Lingshan
2023-11-03 11:35   ` [virtio-comment] " Parav Pandit
2023-11-03 14:55     ` [virtio-comment] " Zhu, Lingshan
2023-11-03 15:54       ` [virtio-comment] " Parav Pandit
2023-11-06  3:29         ` [virtio-comment] " Zhu, Lingshan
2023-11-06  4:07           ` [virtio-comment] " Parav Pandit
2023-11-06  9:21             ` Zhu, Lingshan
2023-11-06 10:52               ` Parav Pandit
2023-11-07  8:21                 ` Zhu, Lingshan
2023-11-07  8:33                   ` Michael S. Tsirkin
2023-11-07  9:24                     ` Zhu, Lingshan
2023-11-08  7:42                       ` Michael S. Tsirkin
2023-11-06  9:43   ` [virtio-comment] " Michael S. Tsirkin
2023-11-07  9:09     ` Zhu, Lingshan
2023-11-08 17:55       ` Michael S. Tsirkin
2023-11-09  9:55         ` Zhu, Lingshan
2023-11-03 10:34 ` [virtio-comment] [PATCH V2 3/6] virtio: dont reset vqs when SUSPEND Zhu Lingshan
2023-11-06  9:49   ` [virtio-comment] " Michael S. Tsirkin
2023-11-07  9:27     ` Zhu, Lingshan
2023-11-08 17:46       ` Michael S. Tsirkin
2023-11-09  9:58         ` Zhu, Lingshan
2023-11-09 10:15           ` [virtio-comment] " Parav Pandit
2023-11-10  6:22             ` [virtio-comment] " Zhu, Lingshan
2023-11-10  6:31               ` [virtio-comment] " Parav Pandit
2023-11-13  9:23                 ` Zhu, Lingshan
2023-11-15 17:35                   ` Parav Pandit
2023-11-16 10:09                     ` Zhu, Lingshan
2023-11-16 10:19                       ` Parav Pandit
2023-11-16 12:09                       ` Michael S. Tsirkin
2023-11-17 10:13                         ` Zhu, Lingshan
2023-11-17 11:04                           ` Michael S. Tsirkin
2023-11-22  1:41                             ` Zhu, Lingshan
2023-11-22  7:30                               ` Michael S. Tsirkin
2023-11-13  3:34             ` [virtio-comment] " Jason Wang
2023-11-15 17:39               ` [virtio-comment] " Parav Pandit
2023-11-16  4:19                 ` Jason Wang
2023-11-16  5:27                   ` Parav Pandit
2023-11-16 10:12                     ` Zhu, Lingshan
2023-11-21  7:33                     ` Jason Wang
2023-11-21 16:32                       ` Parav Pandit
2023-11-22  5:28                         ` Jason Wang
2023-11-22  6:11                           ` Parav Pandit
2023-11-24  3:35                             ` Jason Wang
2023-11-24  9:04                               ` Michael S. Tsirkin
2023-11-24 11:50                                 ` Jason Wang
2023-11-24 12:17                                   ` Michael S. Tsirkin
2023-11-24 13:01                                     ` Jason Wang
2023-11-24 14:45                                       ` Michael S. Tsirkin
2023-11-27  6:38                                         ` Jason Wang
2023-11-27  8:27                                           ` Michael S. Tsirkin
2023-11-27  9:54                                         ` Zhu, Lingshan
2023-11-21 21:18                       ` Michael S. Tsirkin
2023-11-22  1:51                         ` Zhu, Lingshan
2023-11-22  6:47                           ` Parav Pandit
2023-11-22 10:04                             ` Zhu, Lingshan
2023-11-22 10:14                               ` Parav Pandit
2023-11-22  6:49                           ` Michael S. Tsirkin
2023-11-22 10:03                             ` Zhu, Lingshan
2023-11-22 13:37                               ` Michael S. Tsirkin
2023-11-22  5:28                         ` Jason Wang
2023-11-22  6:32                           ` Parav Pandit
2023-11-24  3:25                             ` Jason Wang
2023-11-24  6:20                               ` Michael S. Tsirkin
2023-11-24  6:28                                 ` Jason Wang
2023-11-24  6:43                                   ` Zhu, Lingshan
2023-11-24  8:50                                   ` Michael S. Tsirkin
2023-11-24 11:51                                     ` Jason Wang
2023-11-03 10:34 ` [virtio-comment] [PATCH V2 4/6] virtio-pci: implement VIRTIO_F_QUEUE_STATE Zhu Lingshan
2023-11-03 11:35   ` [virtio-comment] " Parav Pandit
2023-11-03 14:57     ` [virtio-comment] " Zhu, Lingshan
2023-11-03 15:50       ` Parav Pandit
2023-11-06  3:31         ` Zhu, Lingshan
2023-11-06  4:12           ` Parav Pandit
2023-11-06  9:27             ` Zhu, Lingshan
2023-11-06 10:52               ` Parav Pandit
2023-11-07  9:31                 ` Zhu, Lingshan
2023-11-08 17:44                   ` Michael S. Tsirkin
2023-11-09 10:00                     ` Zhu, Lingshan
2023-11-09 10:02                       ` Michael S. Tsirkin
2023-11-10  6:52                         ` Zhu, Lingshan
2023-11-10 12:31                           ` Parav Pandit
2023-11-13  3:46                             ` Jason Wang
2023-11-13  9:23                               ` Zhu, Lingshan
2023-11-15 17:36                               ` Parav Pandit
2023-11-09  6:28                   ` Parav Pandit
2023-11-09  8:41                     ` Michael S. Tsirkin
2023-11-09  9:10                       ` Parav Pandit
2023-11-09  9:53                         ` Michael S. Tsirkin
2023-11-09 10:11                           ` Parav Pandit
2023-11-09 10:09                     ` Zhu, Lingshan
2023-11-09 10:25                       ` Parav Pandit
2023-11-10  7:52                         ` Zhu, Lingshan
2023-11-10 12:31                           ` Parav Pandit
2023-11-13  9:25                             ` Zhu, Lingshan
2023-11-15 17:35                               ` Parav Pandit
2023-11-16 10:14                                 ` Zhu, Lingshan
2023-11-16 10:21                                   ` Parav Pandit
2023-11-17 10:02                                     ` Zhu, Lingshan
2023-11-17 10:06                                       ` Parav Pandit
2023-11-21  4:30                                         ` Jason Wang
2023-11-21 16:26                                           ` Parav Pandit
2023-11-22  4:15                                             ` Jason Wang
2023-11-22  7:15                                               ` Michael S. Tsirkin
2023-11-22  7:33                                                 ` Parav Pandit
2023-11-22 14:43                                                   ` Michael S. Tsirkin
2023-11-17 10:45                                       ` Michael S. Tsirkin
2023-11-22  1:32                                         ` Zhu, Lingshan
2023-11-22  6:53                                           ` Michael S. Tsirkin
2023-11-08 17:56   ` Michael S. Tsirkin
2023-11-13  9:29     ` Zhu, Lingshan
2023-11-13 10:10       ` Michael S. Tsirkin
2023-11-03 10:34 ` [virtio-comment] [PATCH V2 5/6] virtio: introduce dirty page tracking facility Zhu Lingshan
2023-11-03 11:35   ` [virtio-comment] " Parav Pandit
2023-11-03 14:11     ` [virtio-comment] " Zhu, Lingshan
2023-11-03 10:34 ` [virtio-comment] [PATCH V2 6/6] virtio-pci: implement dirty page tracking Zhu Lingshan
2023-11-03 10:46   ` [virtio-comment] " Michael S. Tsirkin
2023-11-03 14:21     ` Zhu, Lingshan
2023-11-06  9:16       ` Zhu, Lingshan
2023-11-06 10:15         ` Michael S. Tsirkin
2023-11-07  9:43           ` Zhu, Lingshan
2023-11-07 10:43             ` Michael S. Tsirkin
2023-11-03 10:50   ` Michael S. Tsirkin
2023-11-03 11:35     ` [virtio-comment] " Parav Pandit
2023-11-03 15:02       ` [virtio-comment] " Zhu, Lingshan
2023-11-03 15:47         ` [virtio-comment] " Parav Pandit
2023-11-05 16:12           ` [virtio-comment] " Michael S. Tsirkin
2023-11-06  3:58             ` Zhu, Lingshan
2023-11-06 10:33               ` Michael S. Tsirkin
2023-11-07  9:48                 ` Zhu, Lingshan
2023-11-06  4:03             ` [virtio-comment] " Parav Pandit
2023-11-07 11:13               ` [virtio-comment] " Michael S. Tsirkin
2023-11-08  9:29                 ` Zhu, Lingshan
2023-11-08 17:18                   ` Michael S. Tsirkin
2023-11-09 10:29                     ` Zhu, Lingshan
2023-11-09 10:41                       ` Michael S. Tsirkin
2023-11-10  7:24                         ` Zhu, Lingshan
2023-11-06  3:52           ` Zhu, Lingshan
2023-11-06  4:34             ` [virtio-comment] " Parav Pandit
2023-11-06  9:34               ` [virtio-comment] " Zhu, Lingshan
2023-11-06 10:52                 ` [virtio-comment] " Parav Pandit
2023-11-06 11:05                   ` [virtio-comment] " Michael S. Tsirkin
2023-11-06 11:07                     ` [virtio-comment] " Parav Pandit
2023-11-06 11:21                       ` [virtio-comment] " Michael S. Tsirkin
2023-11-07  9:52                   ` Zhu, Lingshan
2023-11-07 11:33                     ` Michael S. Tsirkin
2023-11-08  9:30                       ` Zhu, Lingshan
2023-11-08 17:19                         ` Michael S. Tsirkin
2023-11-09 10:34                           ` Zhu, Lingshan
2023-11-06 11:13                 ` [virtio-comment] " Parav Pandit
2023-11-07 10:01                   ` [virtio-comment] " Zhu, Lingshan
2023-11-07 10:25                     ` Michael S. Tsirkin
2023-11-07 11:12                       ` [virtio-comment] " Parav Pandit
2023-11-07 11:24                         ` Parav Pandit
2023-11-08  7:11                           ` [virtio-comment] " Jason Wang
2023-11-08  7:16                             ` [virtio-comment] " Parav Pandit
2023-11-07 11:31                         ` [virtio-comment] " Michael S. Tsirkin
2023-11-08  9:36                       ` Zhu, Lingshan
2023-11-07 12:00                     ` Michael S. Tsirkin
2023-11-06 10:29               ` Michael S. Tsirkin
2023-11-06 11:21                 ` [virtio-comment] " Parav Pandit
2023-11-06 11:27                   ` [virtio-comment] " Michael S. Tsirkin
2023-11-06 11:31                     ` [virtio-comment] " Parav Pandit
2023-11-07 10:02                   ` [virtio-comment] " Zhu, Lingshan
2023-11-07 11:36                     ` Michael S. Tsirkin
2023-11-05 16:20       ` Michael S. Tsirkin
2023-11-06  3:51         ` [virtio-comment] " Parav Pandit
2023-11-03 14:32     ` [virtio-comment] " Zhu, Lingshan
2023-11-05 16:16       ` Michael S. Tsirkin
2023-11-06  4:06         ` Zhu, Lingshan
2023-11-06 10:22           ` Michael S. Tsirkin
2023-11-07 10:44             ` Zhu, Lingshan
2023-11-07 11:29               ` Michael S. Tsirkin
2023-11-07  8:01 ` [virtio-comment] Re: [PATCH V2 0/6] introduce basic facilities for virito live migration Michael S. Tsirkin
2023-11-08 10:19   ` Zhu, Lingshan

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=20231107031405-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=eperezma@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=lingshan.zhu@intel.com \
    --cc=parav@nvidia.com \
    --cc=stefanha@redhat.com \
    --cc=virtio-comment@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 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.