From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: "Eugenio Pérez" <eperezma@redhat.com>,
"virtio-comment@lists.oasis-open.org"
<virtio-comment@lists.oasis-open.org>,
"Laurent Vivier" <lvivier@redhat.com>,
"Cindy Lu" <lulu@redhat.com>,
"cohuck@redhat.com" <cohuck@redhat.com>,
"alvaro.karsz@solid-run.com" <alvaro.karsz@solid-run.com>,
"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
Liuxiangdong <liuxiangdong5@huawei.com>,
"Gautam Dawar" <gdawar@xilinx.com>,
"longpeng2@huawei.com" <longpeng2@huawei.com>,
"Dragos Tatulea" <dtatulea@nvidia.com>,
"stefanha@redhat.com" <stefanha@redhat.com>,
"Harpreet Singh Anand" <hanand@xilinx.com>,
"Stefano Garzarella" <sgarzare@redhat.com>,
"Heng Qi" <hengqi@linux.alibaba.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"Zhu Lingshan" <lingshan.zhu@intel.com>,
"Shannon Nelson" <snelson@pensando.io>,
"Max Gurtovoy" <mgurtovoy@nvidia.com>,
"si-wei.liu@oracle.com" <si-wei.liu@oracle.com>
Subject: [virtio-comment] Re: [PATCH 1/2] virtio: introduce selective queue enabling
Date: Tue, 6 Jun 2023 15:19:53 -0400 [thread overview]
Message-ID: <20230606151520-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB5481D1ACC60311CE48D622CFDC52A@PH0PR12MB5481.namprd12.prod.outlook.com>
On Tue, Jun 06, 2023 at 06:04:32PM +0000, Parav Pandit wrote:
> 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?
This one:
\drivernormative{\subsection}{Device Initialization}{General Initialization And Device Operation / Device Initialization}
it does not say "all queues" if you want to split hairs but I think
assuming it's safe to enable queues later is dangerous.
E.g. vhost user backends tend to assume no new queues appear
after DRIVER_OK.
--
MST
This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.
In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.
Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/
next prev parent reply other threads:[~2023-06-06 19:20 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-06 17:55 [virtio-comment] [PATCH 0/2] Selective queue enabling Eugenio Pérez
2023-06-06 17:55 ` [virtio-comment] [PATCH 1/2] virtio: introduce selective " Eugenio Pérez
2023-06-06 18:04 ` [virtio-comment] " Parav Pandit
2023-06-06 19:19 ` Michael S. Tsirkin [this message]
2023-06-06 19:25 ` Parav Pandit
2023-06-08 11:53 ` Eugenio Perez Martin
2023-06-08 13:15 ` Parav Pandit
2023-06-08 15:05 ` Michael S. Tsirkin
2023-06-08 15:07 ` Parav Pandit
2023-06-08 15:11 ` Michael S. Tsirkin
2023-06-08 12:11 ` [virtio-comment] " Xuan Zhuo
2023-06-08 13:21 ` [virtio-comment] " Parav Pandit
2023-06-08 14:18 ` [virtio-comment] " Eugenio Perez Martin
2023-06-08 14:39 ` Michael S. Tsirkin
2023-06-09 3:53 ` Xuan Zhuo
2023-06-06 19:11 ` Michael S. Tsirkin
2023-06-13 7:50 ` Michael S. Tsirkin
2023-06-13 8:28 ` Eugenio Perez Martin
2023-06-06 17:55 ` [virtio-comment] [PATCH 2/2] virtio: pci support virtqueue selective enabling Eugenio Pérez
2023-06-06 19:09 ` [virtio-comment] " Michael S. Tsirkin
2023-06-07 7:37 ` Eugenio Perez Martin
2023-06-07 9:03 ` Michael S. Tsirkin
2023-06-07 9:46 ` Eugenio Perez Martin
2023-06-06 19:09 ` [virtio-comment] Re: [PATCH 0/2] Selective queue enabling Michael S. Tsirkin
2023-06-07 5:35 ` Eugenio Perez Martin
2023-06-07 8:22 ` Xuan Zhuo
2023-06-07 8:47 ` Eugenio Perez Martin
2023-06-07 8:59 ` Michael S. Tsirkin
2023-06-07 9:41 ` Eugenio Perez Martin
2023-06-07 20:26 ` Michael S. Tsirkin
2023-06-08 0:44 ` Jason Wang
2023-06-08 6:04 ` Michael S. Tsirkin
2023-06-08 6:43 ` Eugenio Perez Martin
2023-06-08 7:18 ` Michael S. Tsirkin
2023-06-08 7:47 ` Jason Wang
2023-06-08 13:44 ` Michael S. Tsirkin
2023-06-08 8:36 ` Eugenio Perez Martin
2023-06-08 14:13 ` Parav Pandit
2023-06-08 22:08 ` Michael S. Tsirkin
2023-06-09 10:27 ` Eugenio Perez Martin
2023-06-09 15:54 ` Michael S. Tsirkin
2023-06-12 7:56 ` Eugenio Perez Martin
2023-06-13 7:46 ` Michael S. Tsirkin
2023-06-13 7:53 ` Michael S. Tsirkin
2023-06-13 10:12 ` Eugenio Perez Martin
2023-06-13 12:28 ` Michael S. Tsirkin
2023-06-15 8:35 ` Eugenio Perez Martin
2023-06-16 14:40 ` Michael S. Tsirkin
2023-06-17 12:53 ` Eugenio Perez Martin
2023-06-17 23:08 ` Michael S. Tsirkin
2023-06-24 18:40 ` Eugenio Perez Martin
2023-06-25 5:31 ` Jason Wang
2023-06-25 21:32 ` Michael S. Tsirkin
2023-06-26 2:53 ` Jason Wang
2023-06-26 8:19 ` Eugenio Perez Martin
2023-06-26 9:40 ` Michael S. Tsirkin
2023-06-27 8:07 ` Jason Wang
2023-06-13 19:00 ` Parav Pandit
2023-06-13 19:54 ` Michael S. Tsirkin
2023-06-13 21:09 ` Parav Pandit
2023-06-13 21:19 ` Parav Pandit
2023-06-13 21:48 ` Michael S. Tsirkin
2023-06-13 21:54 ` Parav Pandit
2023-06-14 4:26 ` Zhu, Lingshan
2023-06-14 4:32 ` Parav Pandit
2023-06-14 6:11 ` Zhu, Lingshan
2023-06-14 11:56 ` Parav Pandit
2023-06-15 5:56 ` Zhu, Lingshan
2023-06-16 9:19 ` Eugenio Perez Martin
2023-06-08 7:46 ` Jason Wang
2023-07-06 18:18 ` [virtio-comment] " Eugenio Perez Martin
2023-07-10 3:55 ` Jason Wang
2023-07-10 5:49 ` Michael S. Tsirkin
2023-07-10 12:13 ` Parav Pandit
2023-07-11 3:09 ` Jason Wang
2023-07-11 3:08 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230606151520-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=alvaro.karsz@solid-run.com \
--cc=cohuck@redhat.com \
--cc=dtatulea@nvidia.com \
--cc=eperezma@redhat.com \
--cc=gdawar@xilinx.com \
--cc=hanand@xilinx.com \
--cc=hengqi@linux.alibaba.com \
--cc=jasowang@redhat.com \
--cc=lingshan.zhu@intel.com \
--cc=liuxiangdong5@huawei.com \
--cc=longpeng2@huawei.com \
--cc=lulu@redhat.com \
--cc=lvivier@redhat.com \
--cc=mgurtovoy@nvidia.com \
--cc=parav@nvidia.com \
--cc=sgarzare@redhat.com \
--cc=si-wei.liu@oracle.com \
--cc=snelson@pensando.io \
--cc=stefanha@redhat.com \
--cc=virtio-comment@lists.oasis-open.org \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.