qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/2] virtio-rng: add a control queue
@ 2020-01-23 15:16 Laurent Vivier
  2020-01-23 15:16 ` [RFC 1/2] virtio-rng: prepare the introduction of " Laurent Vivier
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Laurent Vivier @ 2020-01-23 15:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Amit Shah, Eduardo Habkost, Michael S. Tsirkin

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



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-07-29 14:17 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-23 15:16 [RFC 0/2] virtio-rng: add a control queue Laurent Vivier
2020-01-23 15:16 ` [RFC 1/2] virtio-rng: prepare the introduction of " Laurent Vivier
2020-01-23 15:17 ` [RFC 2/2] virtio-rng: add " Laurent Vivier
2020-01-24 11:02 ` [RFC 0/2] " Stefan Hajnoczi
2020-01-24 14:05   ` Laurent Vivier
2020-01-29 15:43     ` Stefan Hajnoczi
2020-07-28 13:45       ` Laurent Vivier
2020-07-29  9:42         ` Stefan Hajnoczi
2020-07-29 14:15         ` Michael S. Tsirkin
2020-01-24 12:43 ` Amit Shah
2020-01-24 13:50   ` Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).