On Fri, Jan 24, 2020 at 03:05:18PM +0100, Laurent Vivier wrote: > 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?
Yes, please. Stefan
signature.asc
Description: PGP signature