All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
	sgarzare@redhat.com, pasic@linux.ibm.com,
	virtio-comment@lists.oasis-open.org, shahafs@nvidia.com
Subject: [virtio-comment] Re: [PATCH v12 00/10] Rename queue number to queue index
Date: Wed, 5 Apr 2023 01:32:55 -0400	[thread overview]
Message-ID: <20230405013038-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230405010657.612529-1-parav@nvidia.com>

On Wed, Apr 05, 2023 at 04:06:47AM +0300, Parav Pandit wrote:
> 1. Currently, virtqueue is identified between driver and device
> interchangeably using either number or index terminology.
> 
> 2. Between PCI and MMIO transport the queue size (depth) is
> defined as queue_size and QueueNum respectively.
> 
> To avoid confusion and to have consistency, unify them to use
> index.
> 
> 3. Filed name vqn in the driver notification structure is
> ambiguous as it is supposed to hold either vq index or device
> supplied vq identifier.
> 
> 4. Device is really supplying queue identifier in the 
> queue_notify_data register, and this often get confused with
> very similar looking feature bit NOTIFICATION_DATA.
> 
> Solution:
> a. Use virtqueue index description, and rename MMIO register as QueueSize.
> b. Replace virtqueue number with virtqueue index
> c. RSS area of virtio net has inherited some logic, describe it
> using abstract rss_rq_id.
> d. rename queue_notifify_data to queue_notify_id
> e. rename vqn to vq_notify_id to reflect it can hold either vq
> index of device supplied some id.
> 
> Patch summary:
> patch-1 introduce vq number as generic term
> patch-2 renames index to number for pci transport
> patch-3 rename queue_notify_data to queue_notify_id
> patch-4 remove first vq index reference
> patch-5 renames mmio register from Num to Size
> patch-6 renames index to number for mmio transport
> patch-7 renames num field to size for ccw transport
> patch-8 renames vq by its index for ccw transport
> patch-9 for virtio-net removes duplicate example from requirements
> patch-10 for virtio-net updates rss description to use vq index
> 
> This series only improves the documentation, it does not change any
> transport or device functionality.
> 
> Please review.
> This series fixes the issue [1].
> 
> [1] https://github.com/oasis-tcs/virtio-spec/issues/163


I like where this is going. I will change AQ patches to be like this,
but it's holidays here in israel so not reposting immediately,
pls review assuming I will address that change.
For same reason pls don't expect quick review.
The patchset itself is just a cleanup so even though it's up
to crazy revision numbers already it's ok if it takes a bit more
time to merge.

> ---
> changelog:
> v11->v12:
> - replace number to index
> - avoid confusion around vqn field and rename to vq_notify_id
> - rename queue_notify_data to avoid confusing with NOTIFY_DATA
> v10->v11:
> - added Reviewed-by for all the reviewed patches
> - updated commit log of patch-8 to drop rq_handle reference
> - skipped comment to further use rss_rq_id, as rss_rq_id usage
>   and structure are self describing
> v9->v10:
> - added virtqueue number part in content in braces
> - replaced queue_select to vqn in ccw
> - avoided aggrasive alignment of 65 chars
> - updated commit log to drop reference to already merged patches
> - added review-by tag for already reviewed patches
> v8->v9:
> - addressed comments from David
> - few corrections with article
> - renaming 'virtqueue number' to 'vq number'
> - improving text and wording for rss_rq_id, avail notification
> - commit log of specific change in individual patches
> v7->v8:
> - remove note about first virtqueue number
> - skipped Max's comment to put word 'structure' in same line as its
>   crosses 65 chars limit per line
> - reworded queue_notification data set line, as '=' and vq number
>   wording was odd
> v6->v7:
> - remove text around first vq as it is already covered in the basic
>   virtqueues facility section
> v5->v6:
> - moved the vq number description from middle of vq operation
>   to beginning of vq introduction
> v4->v5:
> - fixed accidental removal of "unclassifed packets".
> - simplfied text around indirection_table mask
> - removed rss_rq_id references as indirection table and
>   unclassified_queue data type is self explanatory
> v3->v4:
> - moved note to comment for ccw
> - renamed rq_handle to rss_rq_id
> - moved rss_rq_id next to rss_config structure
> - define rss_config structure using rss_rq_id
> v2->v3:
> - addressed comments from Michael
> - added previous definitions for ccw fields
> - moved rq_handle definition before using it
> - added first patch to describe vq number
> - updated pci for available buffer notification section
> v1->v2:
> - added patches for virtio net for rss area
> - added patches for covering ccw transport
> - added missing entries to refer in mmio transport
> 
> 
> Parav Pandit (10):
>   content: Add vq index text
>   content.tex Replace virtqueue number with index
>   content: Rename confusing queue_notify_data and vqn names
>   transport-pci: Avoid first vq index reference
>   transport-mmio: Rename QueueNum register
>   transport-mmio: Avoid referring to zero based index
>   transport-ccw: Rename queue depth/size to other transports
>   transport-ccw: Refer to the vq by its index
>   virtio-net: Avoid duplicate receive queue example
>   virtio-net: Describe RSS using rss rq id
> 
>  content.tex                      | 27 ++++++++++++----
>  device-types/net/description.tex | 29 ++++++++++++-----
>  notifications-be.c               |  2 +-
>  notifications-le.c               |  2 +-
>  transport-ccw.tex                | 15 +++++----
>  transport-mmio.tex               | 55 +++++++++++++++++++-------------
>  transport-pci.tex                | 26 ++++++++-------
>  7 files changed, 99 insertions(+), 57 deletions(-)
> 
> -- 
> 2.26.2


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: virtio-dev@lists.oasis-open.org, cohuck@redhat.com,
	sgarzare@redhat.com, pasic@linux.ibm.com,
	virtio-comment@lists.oasis-open.org, shahafs@nvidia.com
Subject: [virtio-dev] Re: [PATCH v12 00/10] Rename queue number to queue index
Date: Wed, 5 Apr 2023 01:32:55 -0400	[thread overview]
Message-ID: <20230405013038-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230405010657.612529-1-parav@nvidia.com>

On Wed, Apr 05, 2023 at 04:06:47AM +0300, Parav Pandit wrote:
> 1. Currently, virtqueue is identified between driver and device
> interchangeably using either number or index terminology.
> 
> 2. Between PCI and MMIO transport the queue size (depth) is
> defined as queue_size and QueueNum respectively.
> 
> To avoid confusion and to have consistency, unify them to use
> index.
> 
> 3. Filed name vqn in the driver notification structure is
> ambiguous as it is supposed to hold either vq index or device
> supplied vq identifier.
> 
> 4. Device is really supplying queue identifier in the 
> queue_notify_data register, and this often get confused with
> very similar looking feature bit NOTIFICATION_DATA.
> 
> Solution:
> a. Use virtqueue index description, and rename MMIO register as QueueSize.
> b. Replace virtqueue number with virtqueue index
> c. RSS area of virtio net has inherited some logic, describe it
> using abstract rss_rq_id.
> d. rename queue_notifify_data to queue_notify_id
> e. rename vqn to vq_notify_id to reflect it can hold either vq
> index of device supplied some id.
> 
> Patch summary:
> patch-1 introduce vq number as generic term
> patch-2 renames index to number for pci transport
> patch-3 rename queue_notify_data to queue_notify_id
> patch-4 remove first vq index reference
> patch-5 renames mmio register from Num to Size
> patch-6 renames index to number for mmio transport
> patch-7 renames num field to size for ccw transport
> patch-8 renames vq by its index for ccw transport
> patch-9 for virtio-net removes duplicate example from requirements
> patch-10 for virtio-net updates rss description to use vq index
> 
> This series only improves the documentation, it does not change any
> transport or device functionality.
> 
> Please review.
> This series fixes the issue [1].
> 
> [1] https://github.com/oasis-tcs/virtio-spec/issues/163


I like where this is going. I will change AQ patches to be like this,
but it's holidays here in israel so not reposting immediately,
pls review assuming I will address that change.
For same reason pls don't expect quick review.
The patchset itself is just a cleanup so even though it's up
to crazy revision numbers already it's ok if it takes a bit more
time to merge.

> ---
> changelog:
> v11->v12:
> - replace number to index
> - avoid confusion around vqn field and rename to vq_notify_id
> - rename queue_notify_data to avoid confusing with NOTIFY_DATA
> v10->v11:
> - added Reviewed-by for all the reviewed patches
> - updated commit log of patch-8 to drop rq_handle reference
> - skipped comment to further use rss_rq_id, as rss_rq_id usage
>   and structure are self describing
> v9->v10:
> - added virtqueue number part in content in braces
> - replaced queue_select to vqn in ccw
> - avoided aggrasive alignment of 65 chars
> - updated commit log to drop reference to already merged patches
> - added review-by tag for already reviewed patches
> v8->v9:
> - addressed comments from David
> - few corrections with article
> - renaming 'virtqueue number' to 'vq number'
> - improving text and wording for rss_rq_id, avail notification
> - commit log of specific change in individual patches
> v7->v8:
> - remove note about first virtqueue number
> - skipped Max's comment to put word 'structure' in same line as its
>   crosses 65 chars limit per line
> - reworded queue_notification data set line, as '=' and vq number
>   wording was odd
> v6->v7:
> - remove text around first vq as it is already covered in the basic
>   virtqueues facility section
> v5->v6:
> - moved the vq number description from middle of vq operation
>   to beginning of vq introduction
> v4->v5:
> - fixed accidental removal of "unclassifed packets".
> - simplfied text around indirection_table mask
> - removed rss_rq_id references as indirection table and
>   unclassified_queue data type is self explanatory
> v3->v4:
> - moved note to comment for ccw
> - renamed rq_handle to rss_rq_id
> - moved rss_rq_id next to rss_config structure
> - define rss_config structure using rss_rq_id
> v2->v3:
> - addressed comments from Michael
> - added previous definitions for ccw fields
> - moved rq_handle definition before using it
> - added first patch to describe vq number
> - updated pci for available buffer notification section
> v1->v2:
> - added patches for virtio net for rss area
> - added patches for covering ccw transport
> - added missing entries to refer in mmio transport
> 
> 
> Parav Pandit (10):
>   content: Add vq index text
>   content.tex Replace virtqueue number with index
>   content: Rename confusing queue_notify_data and vqn names
>   transport-pci: Avoid first vq index reference
>   transport-mmio: Rename QueueNum register
>   transport-mmio: Avoid referring to zero based index
>   transport-ccw: Rename queue depth/size to other transports
>   transport-ccw: Refer to the vq by its index
>   virtio-net: Avoid duplicate receive queue example
>   virtio-net: Describe RSS using rss rq id
> 
>  content.tex                      | 27 ++++++++++++----
>  device-types/net/description.tex | 29 ++++++++++++-----
>  notifications-be.c               |  2 +-
>  notifications-le.c               |  2 +-
>  transport-ccw.tex                | 15 +++++----
>  transport-mmio.tex               | 55 +++++++++++++++++++-------------
>  transport-pci.tex                | 26 ++++++++-------
>  7 files changed, 99 insertions(+), 57 deletions(-)
> 
> -- 
> 2.26.2


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


  parent reply	other threads:[~2023-04-05  5:33 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-05  1:06 [virtio-comment] [PATCH v12 00/10] Rename queue number to queue index Parav Pandit
2023-04-05  1:06 ` [virtio-dev] " Parav Pandit
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 01/10] content: Add vq index text Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  5:26   ` [virtio-comment] " Michael S. Tsirkin
2023-04-05  5:26     ` [virtio-dev] " Michael S. Tsirkin
2023-04-05 13:00     ` [virtio-comment] " Parav Pandit
2023-04-05 13:00       ` [virtio-dev] " Parav Pandit
2023-04-05  9:18   ` [virtio-comment] " Michael S. Tsirkin
2023-04-05  9:18     ` [virtio-dev] " Michael S. Tsirkin
2023-04-05 13:03     ` [virtio-comment] " Parav Pandit
2023-04-05 13:03       ` [virtio-dev] " Parav Pandit
2023-04-07 11:30       ` [virtio-comment] " Michael S. Tsirkin
2023-04-07 11:30         ` Michael S. Tsirkin
2023-04-07 15:34         ` [virtio-comment] " Parav Pandit
2023-04-07 15:34           ` Parav Pandit
2023-04-07 15:54           ` [virtio-comment] " Michael S. Tsirkin
2023-04-07 15:54             ` Michael S. Tsirkin
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 02/10] content.tex Replace virtqueue number with index Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  9:46   ` [virtio-comment] " Cornelia Huck
2023-04-05  9:46     ` [virtio-dev] " Cornelia Huck
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 03/10] content: Rename confusing queue_notify_data and vqn names Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  5:22   ` [virtio-comment] " Michael S. Tsirkin
2023-04-05  5:22     ` [virtio-dev] " Michael S. Tsirkin
2023-04-05 13:20     ` [virtio-comment] " Parav Pandit
2023-04-05 13:20       ` [virtio-dev] " Parav Pandit
2023-04-10 13:25       ` [virtio-comment] " Michael S. Tsirkin
2023-04-10 13:25         ` [virtio-dev] " Michael S. Tsirkin
2023-04-05  5:30   ` [virtio-comment] " Michael S. Tsirkin
2023-04-05  5:30     ` [virtio-dev] " Michael S. Tsirkin
2023-04-05  9:57     ` [virtio-comment] " Cornelia Huck
2023-04-05  9:57       ` [virtio-dev] " Cornelia Huck
2023-04-05 13:21     ` [virtio-comment] " Parav Pandit
2023-04-05 13:21       ` [virtio-dev] " Parav Pandit
2023-04-05 15:27       ` [virtio-comment] " Halil Pasic
2023-04-05 15:27         ` Halil Pasic
2023-04-05 15:58         ` [virtio-comment] " Parav Pandit
2023-04-05 15:58           ` Parav Pandit
2023-04-07 11:43           ` [virtio-comment] " Michael S. Tsirkin
2023-04-07 11:43             ` [virtio-dev] " Michael S. Tsirkin
2023-04-11  8:56             ` Cornelia Huck
2023-04-11  8:56               ` [virtio-dev] " Cornelia Huck
2023-04-11 13:35               ` Parav Pandit
2023-04-11 13:35                 ` [virtio-dev] " Parav Pandit
2023-04-17  3:18                 ` Halil Pasic
2023-04-17  3:18                   ` [virtio-dev] " Halil Pasic
2023-04-17  7:04                   ` Michael S. Tsirkin
2023-04-17  7:04                     ` [virtio-dev] " Michael S. Tsirkin
2023-04-17  8:47                     ` [virtio-comment] Participation (was: Re: [virtio-comment] RE: [virtio-dev] RE: [PATCH v12 03/10] content: Rename confusing queue_notify_data and vqn names) Cornelia Huck
2023-04-17  8:47                       ` [virtio-dev] " Cornelia Huck
2023-04-17 11:45                       ` [virtio-comment] " Michael S. Tsirkin
2023-04-17 11:45                         ` [virtio-dev] " Michael S. Tsirkin
2023-04-17 16:13                     ` [virtio-comment] Re: [virtio-dev] Re: [virtio-comment] RE: [virtio-dev] RE: [PATCH v12 03/10] content: Rename confusing queue_notify_data and vqn names Halil Pasic
2023-04-17 16:13                       ` Halil Pasic
2023-04-07 11:44       ` [virtio-comment] " Michael S. Tsirkin
2023-04-07 11:44         ` [virtio-dev] " Michael S. Tsirkin
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 04/10] transport-pci: Avoid first vq index reference Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 05/10] transport-mmio: Rename QueueNum register Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 06/10] transport-mmio: Avoid referring to zero based index Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 07/10] transport-ccw: Rename queue depth/size to other transports Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 08/10] transport-ccw: Refer to the vq by its index Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 09/10] virtio-net: Avoid duplicate receive queue example Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  1:06 ` [virtio-comment] [PATCH v12 10/10] virtio-net: Describe RSS using rss rq id Parav Pandit
2023-04-05  1:06   ` [virtio-dev] " Parav Pandit
2023-04-05  9:17   ` [virtio-comment] " Michael S. Tsirkin
2023-04-05  9:17     ` [virtio-dev] " Michael S. Tsirkin
2023-04-05 13:02     ` [virtio-comment] " Parav Pandit
2023-04-05 13:02       ` [virtio-dev] " Parav Pandit
2023-04-07 11:32       ` [virtio-comment] " Michael S. Tsirkin
2023-04-07 11:32         ` [virtio-dev] " Michael S. Tsirkin
2023-04-05  5:32 ` Michael S. Tsirkin [this message]
2023-04-05  5:32   ` [virtio-dev] Re: [PATCH v12 00/10] Rename queue number to queue index Michael S. Tsirkin
2023-04-05 13:11   ` [virtio-comment] " Parav Pandit
2023-04-05 13:11     ` [virtio-dev] " Parav Pandit
2023-04-05  9:20 ` [virtio-comment] " Michael S. Tsirkin
2023-04-05  9:20   ` [virtio-dev] " Michael S. Tsirkin
2023-04-05 13:05   ` [virtio-comment] " Parav Pandit
2023-04-05 13:05     ` [virtio-dev] " Parav Pandit

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=20230405013038-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.