From: "Tan, Jianfeng" <jianfeng.tan@intel.com>
To: Huawei Xie <huawei.xie@intel.com>, dev@dpdk.org
Cc: ann.zhuangyanying@huawei.com
Subject: Re: [PATCH] vhost: remove lockless enqueue to the virtio ring
Date: Wed, 20 Jan 2016 00:25:22 +0800 [thread overview]
Message-ID: <569E6372.5030200@intel.com> (raw)
In-Reply-To: <1451918787-85887-1-git-send-email-huawei.xie@intel.com>
Hi Huawei,
On 1/4/2016 10:46 PM, Huawei Xie wrote:
> This patch removes the internal lockless enqueue implmentation.
> DPDK doesn't support receiving/transmitting packets from/to the same
> queue. Vhost PMD wraps vhost device as normal DPDK port. DPDK
> applications normally have their own lock implmentation when enqueue
> packets to the same queue of a port.
>
> The atomic cmpset is a costly operation. This patch should help
> performance a bit.
>
> Signed-off-by: Huawei Xie <huawei.xie@intel.com>
> ---
> lib/librte_vhost/vhost_rxtx.c | 86 +++++++++++++------------------------------
> 1 file changed, 25 insertions(+), 61 deletions(-)
>
> diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c
> index bbf3fac..26a1b9c 100644
> --- a/lib/librte_vhost/vhost_rxtx.c
> +++ b/lib/librte_vhost/vhost_rxtx.c
I think vhost example will not work well with this patch when
vm2vm=software.
Test case:
Two virtio ports handled by two pmd threads. Thread 0 polls pkts from
physical NIC and sends to virtio0, while thread0 receives pkts from
virtio1 and routes it to virtio0.
> -
> *(volatile uint16_t *)&vq->used->idx += entry_success;
Another unrelated question: We ever try to move this assignment out of
loop to save cost as it's a data contention?
Thanks,
Jianfeng
next prev parent reply other threads:[~2016-01-19 16:25 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-04 14:46 [PATCH] vhost: remove lockless enqueue to the virtio ring Huawei Xie
2016-01-05 7:16 ` Xie, Huawei
2016-03-14 23:13 ` Thomas Monjalon
2016-03-16 8:20 ` Xie, Huawei
2016-03-16 8:30 ` Yuanhan Liu
2016-01-19 16:25 ` Tan, Jianfeng [this message]
2016-01-19 16:43 ` Xie, Huawei
2016-01-19 18:33 ` Polehn, Mike A
2016-01-20 3:39 ` Xie, Huawei
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=569E6372.5030200@intel.com \
--to=jianfeng.tan@intel.com \
--cc=ann.zhuangyanying@huawei.com \
--cc=dev@dpdk.org \
--cc=huawei.xie@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.