[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [PATCH v2] virtio-rng: add a control queue
On Mon, 3 Aug 2020 18:23:13 +0200 Laurent Vivier <lvivier@redhat.com> wrote: > A control queue is needed to send command to ask the device to > release the request buffers if it cannot provide data. > > Changes: > > 5.4.2 Virtqueues > 0 requestq > 1 controlq > controlq only exists if VIRTIO_RNG_F_CTRL_VQ set. > > 5.4.3 Feature bits > VIRTIO_RNG_F_CTRL_VQ (0) > Device has a control queue > > 5.4.5 Device Initialization > Identify and initialize the request virtqueue. > If the VIRTIO_RNG_F_CTRL_VQ feature bit is negotiated, > identify the control virtqueue. > > 5.4.6.3 Control Virtqueue > The driver uses the control virtqueue (if VIRTIO_RNG_F_CTRL_VQ is > negotiated) to send commands to control the device. > All commands are of the following form: > struct virtio_rng_ctrl_hdr { > u8 cmd; > }; > > 5.4.6.4 Device Requirements: Control Virtqueue > If VIRTIO_RNG_F_CTRL_VQ is negotiated, the device MUST implement the > flush command. > Any other value of cmd MUST be ignored by the device. > > 5.4.6.4.1 Request Virtqueue Flushing > When the device is not able to provide enough entropy to the driver, the > driver may be stuck waiting for the device returning buffers, and cannot > be removed to switch to another one. The flush command allows the driver > to ask the device to release all the buffers sent to the device. This > allows the driver to release resources allocated to receive data from > the device. > #define VIRTIO_RNG_CMD_FLUSH 0 > > 5.4.6.5 Device Requirements: Request Virtqueue Flushing > When the driver sends a flush request, the device MUST release all > outstanding buffers. > > Bug-Link: https://github.com/oasis-tcs/virtio-spec/issues/83 > Signed-off-by: Laurent Vivier <lvivier@redhat.com> > --- > > Notes: > v2: Add devicenormative for the Control Virtqueue > Add devicenormative for the Request Virtqueue Flushing You need to reference the normative sections from conformance.tex (yes, that is easy to miss...) > Reword paragraph Request Virtqueue Flushing > > content.tex | 47 +++++++++++++++++++++++++++++++++++++++++++++-- > 1 file changed, 45 insertions(+), 2 deletions(-) Otherwise, looks good to me.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]