OASIS Open Mailing List Archives  ·  All Lists  ·  virtio  ·  2023-05

virtio — archive

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]

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


On Thu, Apr 27, 2023 at 12:11:31AM +0000, Parav Pandit wrote: > > > From: Max Gurtovoy <[email protected]> > > Sent: Wednesday, April 26, 2023 6:31 PM > > >>> > > >>>>> +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 ? > > Oh yes, I agree. > In response [1] I acked it as, > > "I am thinking that aq index should not overlap with the vq index in range exposed by num_queues field." > > So, admin_queue_index description needs to have description like below. > > admin_queue_index must be greater than or equal to the value of num_queues. > > Yes? > > [1] [email protected]/">https://lore.kernel.org/virtio-dev/[email protected]/ this is present in the conformance clause patch: +If VIRTIO_F_ADMIN_VQ has been negotiated, the value +\field{admin_queue_index} MUST be equal to, or bigger than +\field{num_queues}; also, \field{admin_queue_num} MUST be +smaller than, or equal to 0x10000 - \field{admin_queue_index}, +to ensure that indices of valid admin queues fit into +a 16 bit range beyond all other virtqueues.

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]