From: Stefan Hajnoczi <stefanha@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: virtio-comment@lists.oasis-open.org, shahafs@nvidia.com,
hengqi@linux.alibaba.com, virtio@lists.oasis-open.org
Subject: [virtio-comment] Re: [virtio] [PATCH REQUIREMENTS v2 4/7] net-features: Add notification coalescing requirements
Date: Thu, 20 Jul 2023 11:19:17 -0400 [thread overview]
Message-ID: <20230720151917.GB184015@fedora> (raw)
In-Reply-To: <20230702234410.47546-5-parav@nvidia.com>
[-- Attachment #1: Type: text/plain, Size: 3011 bytes --]
On Mon, Jul 03, 2023 at 02:44:07AM +0300, Parav Pandit wrote:
> Add virtio net device notification coalescing improvements requirements.
>
> Signed-off-by: Parav Pandit <parav@nvidia.com>
> ---
> changelog:
> v0->v1:
> - updated the description
> ---
> net-workstream/features-1.4.md | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/net-workstream/features-1.4.md b/net-workstream/features-1.4.md
> index 3e8b5a4..a34556c 100644
> --- a/net-workstream/features-1.4.md
> +++ b/net-workstream/features-1.4.md
> @@ -8,6 +8,7 @@ together is desired while updating the virtio net interface.
> # 2. Summary
> 1. Device counters visible to the driver
> 2. Low latency tx and rx virtqueues for PCI transport
> +3. Virtqueue notification coalescing re-arming support
>
> # 3. Requirements
> ## 3.1 Device counters
> @@ -157,3 +158,14 @@ struct vnet_rx_completion {
> which can be recycled by the driver when the packets from the completed
> page is fully consumed.
> 8. The device should be able to consume multiple pages for a receive GSO stream.
> +
> +## 3.3 Virtqueue notification coalescing re-enable support
It's called "re-arming" above but "re-enable" here. Please choose one
term and use it consistently.
> +0. Design goal:
> + a. Avoid constant notification from the device even in conditions when
> + the driver may not have acted on the previous pending notification.
> +1. When Tx and Rx virtqueue notification coalescing is enabled, and when such
> + notification is reported by the device, device should be able to disable
"notification" -> "a notification"
", device" -> ", the device"
> + further notifications until the driver finish reacting to the already
s/finish/finishes/
> + generated notification.
> +2. When the driver enables the notification coalescing reporting, the device
"enables the notification coalescing reporting" ->
"enables notification coalescing reporting"
> + to notify again if notification coalescing conditions are met.
I can't parse this sentence. Maybe "the device _has_ to notify again
..."?
I find this text hard to understand. Is this a mechanism where the
device does not send further notifications on a virtqueue until the
driver has re-armed them?
How does this relate to EVENT_IDX, which can be used to achieve a
similar effect? I guess the downside to EVENT_IDX is that the device
must DMA repeatedly in order to detect changes from driver, whereas this
new re-arming mechanism involves a hardware register write?
Can this new mechanism be generic for any kind of virtqueue, not just
virtio-net rx/tx?
> --
> 2.26.2
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail. Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2023-07-20 15:25 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-02 23:44 [virtio-comment] [PATCH REQUIREMENTS v2 0/7] virtio net new features requirements Parav Pandit
2023-07-02 23:44 ` [virtio-comment] [PATCH REQUIREMENTS v2 1/7] net-features: Add requirements document for release 1.4 Parav Pandit
2023-07-20 2:10 ` [virtio-comment] Re: [virtio] " Xuan Zhuo
2023-07-20 2:15 ` [virtio-comment] " Parav Pandit
2023-07-02 23:44 ` [virtio-comment] [PATCH REQUIREMENTS v2 2/7] net-features: Add low latency transmit queue requirements Parav Pandit
2023-07-20 15:28 ` [virtio-comment] Re: [virtio] " Stefan Hajnoczi
2023-07-23 21:31 ` [virtio-comment] " Parav Pandit
2023-07-02 23:44 ` [virtio-comment] [PATCH REQUIREMENTS v2 3/7] net-features: Add low latency receive " Parav Pandit
2023-07-02 23:44 ` [virtio-comment] [PATCH REQUIREMENTS v2 4/7] net-features: Add notification coalescing requirements Parav Pandit
2023-07-20 15:19 ` Stefan Hajnoczi [this message]
2023-07-23 21:39 ` [virtio-comment] RE: [virtio] " Parav Pandit
2023-07-02 23:44 ` [virtio-comment] [PATCH REQUIREMENTS v2 5/7] net-features: Add n-tuple receive flow filters requirements Parav Pandit
2023-07-02 23:44 ` [virtio-comment] [PATCH REQUIREMENTS v2 6/7] net-features: Add packet timestamp requirements Parav Pandit
2023-07-02 23:44 ` [virtio-comment] [PATCH REQUIREMENTS v2 7/7] net-features: Add header data split requirements Parav Pandit
2023-07-20 2:20 ` [virtio-comment] [PATCH REQUIREMENTS v2 0/7] virtio net new features requirements Xuan Zhuo
2023-07-20 2:28 ` Parav Pandit
2023-07-20 2:36 ` Xuan Zhuo
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=20230720151917.GB184015@fedora \
--to=stefanha@redhat.com \
--cc=hengqi@linux.alibaba.com \
--cc=parav@nvidia.com \
--cc=shahafs@nvidia.com \
--cc=virtio-comment@lists.oasis-open.org \
--cc=virtio@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.