[PATCH v10 00/10] Introduce device group and device management

From
David Edmondson
Date
2023-02-15T08:49:00+00:00
ID
Thread
[PATCH v10 00/10] Introduce device group and device management
On Wednesday, 2023-02-15 at 02:53:34 +02, Max Gurtovoy wrote:
> On 13/02/2023 14:21, David Edmondson wrote:
>> On Thursday, 2023-02-09 at 07:13:48 -05, Michael S. Tsirkin wrote:
>>> @@ -1031,6 +1035,19 @@ \subsubsection{Common configuration structure layout}\label{sec:Virtio Transport
>>>
This field exists only if VIRTIO_F_RING_RESET has been
>>>
negotiated. (see \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}).
>>>
+\item[\field{admin_queue_index}]
>>> +
The device uses this to report the index of the first administration virtqueue.
>>> +
This field is valid only if VIRTIO_F_ADMIN_VQ has been negotiated.
>>> +\item[\field{admin_queue_num}]
>>> +	The device uses this to report the number of the
>>> +	supported administration virtqueues.  Virtqueues with index
>>> +	between \field{admin_queue_index} and (\field{admin_queue_index} +
>>> +	\field{admin_queue_num}) inclusive serve as administration
>>> +	virtqueues.
>>> +	Thus the number of administration virtqueues equals
>>> +	(\field{admin_queue_num} + 1).
>> Really the number of queues is "admin_queue_num + 1"?
>> That seems ... odd.
>
> It's not odd if we'll mention that this is a zero based value.
> MST, can you add it please for the next version ?

The field is called ...num, which makes it seem like a count of things,
when in reality it's the highest index. Perhaps the name could more
accurately reflect the intent?

>
>>
>>> +	This field is valid only if VIRTIO_F_ADMIN_VQ has been
>>> +	negotiated.
>>>
\end{description}
>>>
\devicenormative{\paragraph}{Common configuration structure
>>> layout}{Virtio Transport Options / Virtio Over PCI Bus / PCI Device
>>> Layout / Common configuration structure layout}
>>> @@ -1117,6 +1134,14 @@ \subsubsection{Common configuration structure layout}\label{sec:Virtio Transport
>>>
were used before the queue reset.
>>>
(see \ref{sec:Basic Facilities of a Virtio Device / Virtqueues / Virtqueue Reset}).
>>>
+If VIRTIO_F_ADMIN_VQ has been negotiated, and if the driver
>>> +configures any administration virtqueues, the driver MUST
>>> +configure the administration virtqueues using the index
>>> +in the range \field{admin_queue_index} to
>>> +\field{admin_queue_index} + \field{admin_queue_num} inclusive.
>>> +The driver MAY configure less administration virtqueues than
>>> +supported by the device.
>>> +
>>>
\subsubsection{Notification structure layout}\label{sec:Virtio Transport Options / Virtio Over PCI Bus / PCI Device Layout / Notification capability}
>>>
The notification location is found using the
>>> VIRTIO_PCI_CAP_NOTIFY_CFG
>>> @@ -7684,6 +7709,15 @@ \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits}
>>>
\item[VIRTIO_F_ADMIN_VQ(41)] This feature indicates that the
>>> device exposes one or more
>>>
administration virtqueues.
>>> +  At the moment this feature is only supported for devices using
>>> +  \ref{sec:Virtio Transport Options / Virtio Over PCI
>>> +	  Bus}~\nameref{sec:Virtio Transport Options / Virtio Over PCI Bus}
>>> +	  as the transport and is reserved for future use for
>>> +	  devices using other transports (see
>>> +	  \ref{drivernormative:Basic Facilities of a Virtio Device / Feature Bits}
>>> +	and
>>> +	\ref{devicenormative:Basic Facilities of a Virtio Device / Feature Bits} for
>>> +	handling features reserved for future use.
>>>
\end{description}

--
Stop the music and go home.