[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC 0/2] virtio-rng: add a control queue
From: |
Laurent Vivier |
Subject: |
[RFC 0/2] virtio-rng: add a control queue |
Date: |
Thu, 23 Jan 2020 16:16:58 +0100 |
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(-)
--
2.23.0
- [RFC 0/2] virtio-rng: add a control queue,
Laurent Vivier <=