qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC 0/2] virtio-rng: add a control queue


From: Laurent Vivier
Subject: Re: [RFC 0/2] virtio-rng: add a control queue
Date: Fri, 24 Jan 2020 15:05:18 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

On 24/01/2020 12:02, Stefan Hajnoczi wrote:
> On Thu, Jan 23, 2020 at 04:16:58PM +0100, Laurent Vivier wrote:
>> The kernel needs sometime to be able to cancel an ongoing command.
>>
>> For instance, if the virtio-rng device uses the egd backend
>> and this backend doesn't provide data, the buffer provided by the
>> kernel is kept as long as it is needed.
>>
>> On the kernel side, a read blocks until the buffer returns from QEMU.
>>
>> As the read is done with a mutex held, all the hw_random interface
>> hangs and we cannot switch to another hw_random backend.
>>
>> So this series adds a control queue to the virtio-rng device to allow
>> to flush the virtio-rng input queue to release the kernel mutex and
>> to allow to switch to another device.
>>
>> The kernel side series can be found at:
>>
>> https://github.com/vivier/linux/commits/virtio-rng-ctrl
>>
>> Laurent Vivier (2):
>>   virtio-rng: prepare the introduction of a control queue
>>   virtio-rng: add a control queue
>>
>>  hw/core/machine.c                           |  1 +
>>  hw/virtio/trace-events                      |  6 ++
>>  hw/virtio/virtio-rng.c                      | 99 ++++++++++++++++++---
>>  include/hw/virtio/virtio-rng.h              |  5 +-
>>  include/standard-headers/linux/virtio_rng.h | 14 +++
>>  5 files changed, 111 insertions(+), 14 deletions(-)
> 
> Where can I find the VIRTIO specification for this new virtqueue?

I didn't update the specs.

Is https://github.com/oasis-tcs/virtio-spec.git the document to update?

Thanks,
Laurent




reply via email to

[Prev in Thread] Current Thread [Next in Thread]