Next in thread → Next in month →

Re: [virtio-dev] virtio-spec: Clarify /wrt maintaining a split-queue descriptors

From
Michael S. Tsirkin <>
Date
2019-10-27T11:37:51+00:00
ID
Thread
Re: [virtio-dev] virtio-spec: Clarify /wrt maintaining a split-queue descriptors
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: 
> For additional commands, e-mail: 
Next in thread → Next in month →