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 v4 8/8] virtio-net: Describe RSS using receive queue handle


> From: Michael S. Tsirkin <mst@redhat.com>
> Sent: Wednesday, March 22, 2023 7:04 PM
> 
> > -Field \field{unclassified_queue} contains the 0-based index of -the
> > receive virtqueue to place unclassified packets in. Index 0 corresponds to
> receiveq1.
> > +\field{rss_rq_id} is a receive virtqueue id. \field{vqn_1_16}
> 
> Looks like you keep removing the main thing which is *what is this field actually
> for*.
> 
Ah my bad. Fixing it.

> More comments:
> 
> id is actually abbreviation. Field is actually \field{unclassified_queue} - rss_rq_id
> is just a name of struct has no meaning by itself.
> so either \field{struct rss_rq_id} or just don't mention this at all.
> Below example on how not to mention at all.
>
Structure defines the format of the vqn. I will keep the definition there of what vqn_1_16 means.

 
> Here's one way to put it:
> 
> \field{unclassified_queue} identifies a receive virtqueue to place unclassified
> packets in. 

> Within \field{unclassified_queue}, \field{vqn_1_16}, consists of bits
> 1 to 16 of the receive virtqueue number For example, \field{vqn_1_16} value of
> 3 corresponds to virtqueue number 6 maps to receiveq4.
> 
I will keep this example where rss_rq_is id structure is defined.
More below.

> > +consists of bits 1 to 16 of virtqueue number. For example,
> > +\field{vqn_1_16} value of 3 corresponds to virtqueue number 6 maps to
> receiveq4.
> > +
> > +Field \field{unclassified_queue} contains the receive virtqueue id
> > +\field{rss_rq_id} described above.
> >
> > -Field \field{indirection_table} contains an array of 0-based indices of receive
> virtqueues. Index 0 corresponds to receiveq1.
> > +Field \field{indirection_table} is an array of receive queue ids
> > +described above in \field{rss_rq_id}.
> 
> Field \field{indirection_table} is an array of receive queue identifiers, using the
> same format as \field{unclassified_queue}.
> 
Will refer to rss_rq_id and avoid with 2nd indirection in describing indirection table.

> 
> >
> >  A driver sets \field{max_tx_vq} to inform a device how many transmit
> virtqueues it may use (transmitq1\ldots transmitq \field{max_tx_vq}).
> >
> > @@ -1455,7 +1465,8 @@ \subsubsection{Control
> > Virtqueue}\label{sec:Device Types / Network Device / Devi
> >
> >  A driver MUST NOT send the VIRTIO_NET_CTRL_MQ_RSS_CONFIG command
> if the feature VIRTIO_NET_F_RSS has not been negotiated.
> >
> > -A driver MUST fill the \field{indirection_table} array only with indices of
> enabled queues. Index 0 corresponds to receiveq1.
> > +A driver MUST fill the \field{indirection_table} array only with the
> > +\field{rss_rq_id} corresponding to the enabled receive virtqueues.
>
Will remove the reference to the field rss_rq_id here.
 
> There's no field like this. Also not "the" virtqueues - we didn't discuss them
> previously. Generally if you want to tweak grammar it's best to do it
> separately...
Will remove "the".

> > +\item Apply \field{indirection_table_mask} to the calculated hash and
> > +use the result as the index in the indirection table to get
> > +\field{rss_rq_id}.
> 
> to get \field{vqn_1_16}
> 
It is bit simpler with below rewrite without duplicating content of indirection table,

"use the result as the index in the indirection table to get receive queue entry."


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