OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [PATCH v12 05/10] pci: add admin vq registers to virtio over pci




On 27/04/2023 1:11, Parav Pandit wrote:

From: Max Gurtovoy <mgurtovoy@nvidia.com>
Sent: Wednesday, April 26, 2023 5:12 PM

On 25/04/2023 1:14, Parav Pandit wrote:


On 4/24/2023 6:06 PM, Max Gurtovoy wrote:

+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} - 1 inclusive.
+The driver MAY configure less administration virtqueues than
+supported by the device.

we need to say something about other virtq's indexes.
For example, if aq index = 0 then for the vblk device the request
queues would start from index = 1.

can we address this ?

It may slightly complicate the device implementation when device
dynamically changes the VQ indices based on the negotiation of the
feature bit.
Also the drivers with and without need a different VQ index handling.

I am thinking that aq index should not overlap with the vq index in
range exposed by num_queues field.

This also aligns to the exclusion of aq count from num_queues field.

The namespace of the aq and other vq index is the same.
And the configuration is done using the same queue_select and other registers.
Thus, we need to address the above comment otherwise all the device
virtqueues chapters are wrong.

Michael has added below line in this patch in num_queues description so it covers the exclusion part.

+        This excludes administration virtqueues if any are supported.


This is not related to what I was talking about.

For example if vnet device:

0 receiveq1
1 transmitq1
...
2(N-1) receiveqN
2(N-1)+1 transmitqN
2N controlq
N=1 if neither VIRTIO_NET_F_MQ nor VIRTIO_NET_F_RSS are negotiated, otherwise N is set by max_-
virtqueue_pairs.
controlq only exists if VIRTIO_NET_F_CTRL_VQ set

and in vfs device:

0 hiprio
1...n request queues

So if one device will expose adminq that will be with index 0 the above is wrong description.

Agree that this should be addressed ?


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]