* [virtio-dev] virtio-spec: Clarify /wrt maintaining a split-queue descriptors
@ 2019-10-12 7:20 Jan Kiszka
2019-10-27 11:37 ` Michael S. Tsirkin
0 siblings, 1 reply; 2+ messages in thread
From: Jan Kiszka @ 2019-10-12 7:20 UTC (permalink / raw)
To: virtio-dev@lists.oasis-open.org
Hi all,
I'm wondering if the spec is clear enough regarding who is in charge of
setting fields in a descriptor of split virtqueues. Background: I just
made the mistake in an experimental backend of writing back the number
of bytes pushed into a buffer not only in virtq_used_elem but also the
referenced virtq_desc - with unpleasant effects for the guest.
The spec in section 2.6.8 reads to me like virtq_used_elem.len is rather
informative. At least this section leaves it fuzzy to me whether there
are other sources from where a driver can find out how much a device has
delivered - and misled me to also update virtq_desc.len in the device.
But maybe I'm missing a clear note in another section.
Jan
--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [virtio-dev] virtio-spec: Clarify /wrt maintaining a split-queue descriptors
2019-10-12 7:20 [virtio-dev] virtio-spec: Clarify /wrt maintaining a split-queue descriptors Jan Kiszka
@ 2019-10-27 11:37 ` Michael S. Tsirkin
0 siblings, 0 replies; 2+ messages in thread
From: Michael S. Tsirkin @ 2019-10-27 11:37 UTC (permalink / raw)
To: Jan Kiszka; +Cc: virtio-dev@lists.oasis-open.org
On Sat, Oct 12, 2019 at 09:20:02AM +0200, Jan Kiszka wrote:
> Hi all,
>
> I'm wondering if the spec is clear enough regarding who is in charge of
> setting fields in a descriptor of split virtqueues. Background: I just
> made the mistake in an experimental backend of writing back the number
> of bytes pushed into a buffer not only in virtq_used_elem but also the
> referenced virtq_desc - with unpleasant effects for the guest.
>
> The spec in section 2.6.8 reads to me like virtq_used_elem.len is rather
> informative. At least this section leaves it fuzzy to me whether there
> are other sources from where a driver can find out how much a device has
> delivered - and misled me to also update virtq_desc.len in the device.
>
> But maybe I'm missing a clear note in another section.
>
> Jan
Well it does say this:
When the driver wants to send a buffer to the device, it fills in
a slot in the descriptor table (or chains several together), and
writes the descriptor index into the available ring. It then
notifies the device. When the device has finished a buffer, it
writes the descriptor index into the used ring, and sends a
used buffer notification.
but for sure, documenting that descriptor area is read-only by device
can't hurt.
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE
> Corporate Competence Center Embedded Linux
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-10-27 11:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-12 7:20 [virtio-dev] virtio-spec: Clarify /wrt maintaining a split-queue descriptors Jan Kiszka
2019-10-27 11:37 ` Michael S. Tsirkin
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.