OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: 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: virtio-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]