From: "Steven Luong (sluong)" <sluong@cisco.com>
To: Maxime Coquelin <maxime.coquelin@redhat.com>,
"yliu@fridaylinux.org" <yliu@fridaylinux.org>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] net/virtio-user: send kick to tx queue to notify backend on initialization
Date: Mon, 11 Sep 2017 14:29:48 +0000 [thread overview]
Message-ID: <CCD3E6EB-20DA-4CF5-9482-05C3B62E69C0@cisco.com> (raw)
In-Reply-To: <BD7EE5E1-2B0A-48AE-932D-93CED6913DB7@cisco.com>
Dear Maxime and Yuanhan,
Do you have any more question on this patch? According to the text in the spec, the vring/queue is supposed to be disable until a kick is received. This is to ensure that the kickfd is working properly prior to the operation and I think it makes sense. The only exception to this rule is when the driver opts out for the interrupt support (no kickfd) in VHOST_USER_SET_VRING_KICK message.
Steven
On 8/3/17, 7:12 AM, "dev on behalf of Steven Luong (sluong)" <dev-bounces@dpdk.org on behalf of sluong@cisco.com> wrote:
Maxime,
Thank you so much for the reply.
1. It’s about conforming to the spec. Please read the text as I quoted in the email. A non-conforming implementation does not communicate with a conforming implementation such as VPP.
2. QEMU’s implementation is conforming and it is sending kick for both TX and RX queues upon initialization.
Steven
On 8/3/17, 2:37 AM, "dev on behalf of Maxime Coquelin" <dev-bounces@dpdk.org on behalf of maxime.coquelin@redhat.com> wrote:
Hi Steven,
On 08/01/2017 06:17 PM, Steven wrote:
> Acccording to the spec, https://fossies.org/linux/qemu/docs/specs/vhost-user.txt
>
> client must start ring upon receiving a kick (that is, detecting that file
> descriptor is reachable) on the descriptor specified by
> VHOST_USER_SET_VRING_KICK.
>
> The code sends a kick to the rx queue. It is missing sending a kick for the
> tx queue. This patch is to add the missing code to comply with the spec.
>
> Signed-off-by: Steven <sluong@cisco.com>
> ---
> drivers/net/virtio/virtio_ethdev.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index 00a3122..6362e14 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1747,6 +1747,11 @@ virtio_dev_start(struct rte_eth_dev *dev)
> virtqueue_notify(rxvq->vq);
> }
>
> + for (i = 0; i < dev->data->nb_tx_queues; i++) {
> + txvq = dev->data->tx_queues[i];
> + virtqueue_notify(txvq->vq);
> + }
> +
I'm not sure to get why we would need to send Txq notification whereas
no packet have been enqueued. That said, I don't think it hurts.
Steven, does it solve a real problem you are facing with virtio-user?
Yuanhan, what's your opinion on this?
Cheers,
Maxime
next prev parent reply other threads:[~2017-09-11 14:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-01 16:17 Steven
2017-08-03 9:37 ` Maxime Coquelin
2017-08-03 14:12 ` Steven Luong (sluong)
2017-09-11 14:29 ` Steven Luong (sluong) [this message]
2017-09-12 2:30 ` Yuanhan Liu
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=CCD3E6EB-20DA-4CF5-9482-05C3B62E69C0@cisco.com \
--to=sluong@cisco.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
--cc=yliu@fridaylinux.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;
as well as URLs for NNTP newsgroup(s).