From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: patrick.fu@intel.com, dev@dpdk.org, chenbo.xia@intel.com
Subject: Re: [dpdk-dev] [PATCH v3] vhost: fix wrong async completion of multi-seg packets
Date: Tue, 21 Jul 2020 10:40:43 +0200 [thread overview]
Message-ID: <145b4c3e-970f-ae39-2ea4-accc8f95c151@redhat.com> (raw)
In-Reply-To: <20200721054720.3417804-1-patrick.fu@intel.com>
On 7/21/20 7:47 AM, patrick.fu@intel.com wrote:
> From: Patrick Fu <patrick.fu@intel.com>
>
> In async enqueue copy, a packet could be split into multiple copy
> segments. When polling the copy completion status, current async data
> path assumes the async device callbacks are aware of the packet
> boundary and return completed segments only if all segments belonging
> to the same packet are done. Such assumption are not generic to common
> async devices and may degrees the copy performance if async callbacks
s/degrees/degrades/
> have to implement it in software manner.
>
> This patch adds tracking of the completed copy segments at vhost side.
> If async copy device reports partial completion of a packets, only
> vhost internal record is updated and vring status keeps unchanged
> until remaining segments of the packet are also finished. The async
> copy device is no longer necessary to care about the packet boundary.
>
> Fixes: cd6760da1076 ("vhost: introduce async enqueue for split ring")
>
> Signed-off-by: Patrick Fu <patrick.fu@intel.com>
> ---
> v2:
> - fix an issue that can stuck async poll when packets buffer is full
> v3:
> - revise commit message and title
> - rename a local variable to better reflect its usage
>
> lib/librte_vhost/vhost.h | 3 +++
> lib/librte_vhost/virtio_net.c | 27 +++++++++++++++++----------
> 2 files changed, 20 insertions(+), 10 deletions(-)
With above typo fixed (can be done when applying, no need to resend):
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
next prev parent reply other threads:[~2020-07-21 8:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-15 7:46 [dpdk-dev] [PATCH v1] vhost: support async copy free segmentations patrick.fu
2020-07-15 11:15 ` [dpdk-dev] [PATCH v2] " patrick.fu
2020-07-17 3:21 ` Xia, Chenbo
2020-07-17 11:52 ` Ferruh Yigit
2020-07-20 14:58 ` Maxime Coquelin
2020-07-20 16:49 ` Ferruh Yigit
2020-07-21 5:52 ` Fu, Patrick
2020-07-21 5:47 ` [dpdk-dev] [PATCH v3] vhost: fix wrong async completion of multi-seg packets patrick.fu
2020-07-21 8:40 ` Maxime Coquelin [this message]
2020-07-21 14:57 ` Ferruh Yigit
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=145b4c3e-970f-ae39-2ea4-accc8f95c151@redhat.com \
--to=maxime.coquelin@redhat.com \
--cc=chenbo.xia@intel.com \
--cc=dev@dpdk.org \
--cc=patrick.fu@intel.com \
/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.