On Fri, Oct 01 2021, Xuan Zhuo <xuanz...@linux.alibaba.com> wrote: > This patch allows the driver to reset a queue individually. > > This is very common on general network equipment. By disabling a queue, > you can quickly reclaim the buffer currently on the queue. If necessary, > we can reinitialize the queue separately. > > For example, when virtio-net implements support for AF_XDP, we need to > disable a queue to release all the original buffers when AF_XDP setup. > And quickly release all the AF_XDP buffers that have been placed in the > queue when AF_XDP exits. > > Signed-off-by: Xuan Zhuo <xuanz...@linux.alibaba.com> > --- > content.tex | 46 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 46 insertions(+) > > diff --git a/content.tex b/content.tex > index 37c45d3..dd095f4 100644 > --- a/content.tex > +++ b/content.tex > @@ -350,6 +350,48 @@ \section{Virtqueues}\label{sec:Basic Facilities of a > Virtio Device / Virtqueues} > Every driver and device supports either the Packed or the Split > Virtqueue format, or both. > > +\subsection{Virtqueue Reset}\label{sec:Basic Facilities of a Virtio Device / > Virtqueues / Virtqueue Reset} > + > +When VIRTIO_F_RING_RESET is negotiated, the driver can reset a virtqueue > +individually. The way to reset the virtqueue is transport specific. > + > +Virtqueue reset is divided into two parts. The driver first resets a queue > and > +can afterwards optionally re-enable it. > + > +\subsubsection{Virtqueue Reset}\label{sec:Basic Facilities of a Virtio > Device / Virtqueues / Virtqueue Reset / Virtqueue Reset} > + > +\devicenormative{\paragraph}{Virtqueue Reset}{Basic Facilities of a Virtio > Device / Virtqueues / Virtqueue Reset / Virtqueue Reset} > + > +After a queue has been reset by the driver, the device MUST NOT execute > +any requests from that virtqueue, or notify the driver for it. > + > +The device MUST reset any state of a virtqueue to be reset to the default > state,
This sentence looks a bit strange; probably should be "The device MUST reset any state of a virtqueue to the default state", or "The device MUST cause any state of a virtqueue to be reset to the default state" > +including the available state and the used state. Otherwise, the generic description now looks good to me. --------------------------------------------------------------------- To unsubscribe, e-mail: virtio-dev-unsubscr...@lists.oasis-open.org For additional commands, e-mail: virtio-dev-h...@lists.oasis-open.org