public inbox for virtio-dev@lists.linux.dev
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: Halil Pasic <pasic@linux.ibm.com>,
	"virtio-dev@lists.oasis-open.org"
	<virtio-dev@lists.oasis-open.org>,
	"cohuck@redhat.com" <cohuck@redhat.com>,
	"sgarzare@redhat.com" <sgarzare@redhat.com>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>,
	Shahaf Shuler <shahafs@nvidia.com>
Subject: [virtio-dev] Re: [PATCH v14 10/11] virtio-net: Describe RSS using rss rq id
Date: Mon, 24 Apr 2023 11:54:08 -0400	[thread overview]
Message-ID: <20230424114849-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB54818907C4A9BF2031664166DC679@PH0PR12MB5481.namprd12.prod.outlook.com>

On Mon, Apr 24, 2023 at 03:30:33PM +0000, Parav Pandit wrote:
> 
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Monday, April 24, 2023 9:59 AM
> 
> > > >  Driver sends a VIRTIO_NET_CTRL_MQ_RSS_CONFIG command
> > 
> > maybe add:
> > 	including virtqueue index of relevant receive queues
> > 
> Structure struct virtio_net_rss_config has many fields for RSS_CONFIG command.
> It is not much help to say including receive queues, including indirection table etc.
> The structure is evident and all those fields are described in the struct including the receive virtqueue.

ok

> 
> > > >  struct virtio_net_rss_config {
> > > >      le32 hash_types;
> > > >      le16 indirection_table_mask;
> > > > -    le16 unclassified_queue;
> > > > -    le16 indirection_table[indirection_table_length];
> > > > +    struct rss_rq_id unclassified_queue;
> > > > +    struct rss_rq_id indirection_table[indirection_table_length];
> > > >      le16 max_tx_vq;
> > > >      u8 hash_key_length;
> > > >      u8 hash_key_data[hash_key_length]; @@ -1453,10 +1458,15 @@
> > > > \subsubsection{Control Virtqueue}\label{sec:Device Types / Network
> > > > Device / Devi  \field{indirection_table} array.
> > > >  Number of entries in \field{indirection_table} is
> > (\field{indirection_table_mask} + 1).
> > > >
> > > > -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{vq_index_1_16}
> > > > +consists of bits 1 to 16 of a virtqueue index. For example, a
> > > > +\field{vq_index_1_16} value of 3 corresponds to virtqueue index 6,
> > > > +which maps to receiveq4.
> > > > +
> > > > +Field \field{unclassified_queue} contains the receive virtqueue in
> > > > +which to place unclassified packets.
> > >
> > > It does not contain a receive virtqueue but its \field{rss_rq_id},
> > > i.e. it's "receive virtqueue id".
> > 
> receive virtqueue != virtqueue index.
> The receive virtqueue is description. The structure rss_rq_id is clear enough to indicate that how an receive virtqueue is communicated with the device.

the text originally was pretty clear though, the only problem
was format of index was unclear. your change me and Halil
both feel obscured things.

> > Yes all this last chunk is not an improvement.
> > My whole point was that we do not need a name for this thing that is struct
> > rss_rq_id. It's just a weird way to store a vq index.
> > 
> > Also \field{rss_rq_id} is confusing since it's actually \field{struct rss_rq_id}. We
> > are using C-like not C++ like syntax ;)
> > 
> > One way to address all this:
> > 
> > \field{struct rss_rq_id} contains a virtqueue index: \field{vq_index_1_16}
> > consists of bits 1 to 16 of a virtqueue index. For example, a
> > \field{vq_index_1_16} value of 3 corresponds to virtqueue index 6, which maps
> > to receiveq4.
> > 
> > Field \field{unclassified_queue} contains the virtqueue index of the receive
> > virtqueue to place unclassified packets in, in \field{struct rss_rq_id} format.
> > 
> The data type of the unclassified_queue is struct rss_rq id, so we don't need to emphasis it again.

oh, you can drop that:
	\field{struct rss_rq_id} contains a virtqueue index: \field{vq_index_1_16}
	consists of bits 1 to 16 of a virtqueue index. For example, a
	\field{vq_index_1_16} value of 3 corresponds to virtqueue index 6, which maps
	to receiveq4.
	 
	Field \field{unclassified_queue} contains the virtqueue index of the receive
	virtqueue to place unclassified packets in.

but in any case, there is no point in saying "\field{rss_rq_id} is a
receive virtqueue id." This concept of "receive virtqueue id"
is not really useful.



> For example, we don't say, max_tx_vq is in le16 format.
> 
> I am going to keep the current version as it is better than then extra verbosity.

Maybe "specifies" instead of "contains" then?

+Field \field{unclassified_queue} specifies the receive virtqueue in
+which to place unclassified packets.



---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  reply	other threads:[~2023-04-24 15:54 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-19  1:46 [virtio-dev] [PATCH v14 00/11] Rename queue number to queue index Parav Pandit
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 01/11] content: Add vq index text Parav Pandit
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 02/11] content.tex Replace virtqueue number with index Parav Pandit
2023-04-19 16:08   ` [virtio-dev] " Halil Pasic
2023-04-19 16:11     ` [virtio-dev] " Parav Pandit
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 03/11] content: Rename confusing queue_notify_data and vqn names Parav Pandit
2023-04-21 22:37   ` [virtio-dev] " Halil Pasic
2023-04-24 14:00     ` Michael S. Tsirkin
2023-04-24 16:11     ` [virtio-dev] " Parav Pandit
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 04/11] transport-pci: Avoid first vq index reference Parav Pandit
2023-04-24 13:29   ` [virtio-dev] Re: [virtio-comment] " Halil Pasic
2023-04-25  4:10     ` [virtio-dev] " Parav Pandit
2023-04-25 13:02       ` Halil Pasic
2023-04-25 13:15         ` Michael S. Tsirkin
2023-04-25 16:20           ` Halil Pasic
2023-04-25 21:11             ` Michael S. Tsirkin
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 05/11] transport-mmio: Rename QueueNum register Parav Pandit
2023-04-24 12:53   ` Halil Pasic
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 06/11] transport-mmio: Avoid referring to zero based index Parav Pandit
2023-04-25 10:59   ` [virtio-dev] Re: [virtio-comment] " Halil Pasic
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 07/11] transport-ccw: Rename queue depth/size to other transports Parav Pandit
2023-04-24 12:58   ` Halil Pasic
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 08/11] transport-ccw: Refer to the vq by its index Parav Pandit
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 09/11] virtio-net: Avoid duplicate receive queue example Parav Pandit
2023-04-24 13:10   ` Halil Pasic
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 10/11] virtio-net: Describe RSS using rss rq id Parav Pandit
2023-04-24 13:22   ` [virtio-dev] " Halil Pasic
2023-04-24 13:58     ` Michael S. Tsirkin
2023-04-24 15:30       ` [virtio-dev] " Parav Pandit
2023-04-24 15:54         ` Michael S. Tsirkin [this message]
2023-04-24 16:02           ` Parav Pandit
2023-04-19  1:46 ` [virtio-dev] [PATCH v14 11/11] virtio-net: Update vqn to vq_index for cvq cmds Parav Pandit
2023-04-24 13:26   ` Halil Pasic

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=20230424114849-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=parav@nvidia.com \
    --cc=pasic@linux.ibm.com \
    --cc=sgarzare@redhat.com \
    --cc=shahafs@nvidia.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox