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-snd spec question


Hello Roman,

On 02.02.2022 00:57, Roman Kiryanov wrote:
Hello,

I work in Android Studio Emulator and I am currently implementing a virtio-snd device. We found a spec draft here:

https://github.com/oasis-tcs/virtio-spec/commit/e73c8cdf3e822fd83c26c6de964a947670f93cc3#diff-73045e70aeaf45f93087610437b705e2d320c82a9d29b4027721f5f5f3918dc5 <https://github.com/oasis-tcs/virtio-spec/commit/e73c8cdf3e822fd83c26c6de964a947670f93cc3#diff-73045e70aeaf45f93087610437b705e2d320c82a9d29b4027721f5f5f3918dc5>

It mentions four virtqueues: ctl, event, rx and tx. It is not very clear where a virtio-snd device should put responses to the ctl requests from the linux kernel driver. There is a kernel driver implementation and we have a virtio-sndÂdevice implemented in another emulator, it uses the same virtqueue (ctl) to put ctl responses and the current kernel driver seems happy with this.

Do you know if this is expected behavior? I am far from an expert here, but I believe the device and the kernel will race here by reading from the same virtqueue: the device could read VirtQueueElement produced by itself before the kernel if the kernel is not fast enough.

Yes, this is the expected behavior of the device and you are doing
everything right.

The virtio specification describes kind of single-producer single-
consumer lockless queue way to work with virtqueues. And if both the
device and the driver (in this case, the Linux kernel) follow the
specification, then you don't have to worry about a possible race
condition.

--
Anton Yakovlev
Senior Software Engineer

OpenSynergy GmbH
Rotherstr. 20, 10245 Berlin


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