[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [PATCH 1/2] virtio: introduce selective queue enabling
Hi Eugenio, > From: Eugenio PÃrez <eperezma@redhat.com> > Sent: Tuesday, June 6, 2023 1:55 PM > > This patch allows the driver to start the device (as set DRIVER_OK) with only > some queues enabled, and then enable another queues later. > > This is the current way to migrate net device state through control virtqueue, in > a software assisted framework with vDPA: > * First, only net CVQ is enabled at DRIVER_OK > * All the control commands (mac address, mq, etc) needed for the device to > behave the same as the source of migration are sent > * Finally all the dataplane queues are enabled. > > Signed-off-by: Eugenio PÃrez <eperezma@redhat.com> > --- > content.tex | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/content.tex b/content.tex > index d2ab9eb..ea4a6d8 100644 > --- a/content.tex > +++ b/content.tex > @@ -99,10 +99,10 @@ \section{Feature Bits}\label{sec:Basic Facilities of a > Virtio Device / Feature B \begin{description} > \item[0 to 23, and 50 to 127] Feature bits for the specific device type > > -\item[24 to 41] Feature bits reserved for extensions to the queue and > +\item[24 to 42] Feature bits reserved for extensions to the queue and > feature negotiation mechanisms > > -\item[42 to 49, and 128 and above] Feature bits reserved for future extensions. > +\item[43 to 49, and 128 and above] Feature bits reserved for future > extensions. > \end{description} > > \begin{note} > @@ -398,6 +398,13 @@ \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 selective enabling}\label{sec:Basic Facilities of > +a Virtio Device / Virtqueues / Selective Virtqueue Enable} > + > +If the driver negotiates VIRTIO\_F\_RING\_ENABLE\_ANYTIME, it can > +enable individual virtqueues both before and after the DRIVER\_OK. The > +way to enable a virtqueue is transport specific, but it mimics the > +re-enabling after an hypothetical reset. > + > \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 > @@ -870,6 +877,10 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved > Feature Bits} > \ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits} for > handling features reserved for future use. > > + \item[VIRTIO_F_RING_ENABLE_ANYTIME(42)] This feature indicates that > + the driver can enable a queue both before and after DRIVER\_OK. > + See \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Selective > Virtqueue Enable}. > + Can you please highlight, current spec normative which indicates that all queues must be enabled before DRIVER_OK and more queues cannot be enabled after DRIVER_OK?
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]