DPDK patches and discussions
 help / color / mirror / Atom feed
From: Alan Dewar <alangordondewar@gmail.com>
To: Maxime Coquelin <maxime.coquelin@redhat.com>
Cc: dev@dpdk.org, Alan Dewar <alan.dewar@att.com>
Subject: Re: [dpdk-dev] [PATCH] vhost: support non multiqueue guests
Date: Mon, 5 Feb 2018 10:18:57 +0000	[thread overview]
Message-ID: <CAOEQf6gJHhM7r5C-uoYog=94yoqEdhbwdMvmCNhy_660gse=Rg@mail.gmail.com> (raw)
In-Reply-To: <3ed0a409-70de-7105-ab00-449f7862b487@redhat.com>

Hi Maxime,

Just confirming that the commit that you suggested fixes the problem
that I was seeing.

Many thanks for your help.

Regards
Alan

On Mon, Feb 5, 2018 at 8:42 AM, Maxime Coquelin
<maxime.coquelin@redhat.com> wrote:
> Hi Alan,
>
> On 01/31/2018 03:42 PM, alangordondewar@gmail.com wrote:
>>
>> From: Alan Dewar<alan.dewar@att.com>
>>
>> Performance of vhost interfaces can be improved by having multiple
>> TX/RX queue-pairs.  QEMU can be told to use multiple queue-pairs for
>> a vhost interface when starting the guest VM.  The DPDK will also
>> configure multiple queue-pairs in response to requests from QEMU.
>>
>> Later when the guest VM reaches the running state, it can decide to not
>> support the multiqueue option.   This information is passed down from
>> the guest VM to QEMU, and from QEMU to the DPDK, but the DPDK ignores
>> it.
>>
>> Because the guest VM doesn't support the multiqueue option it will only
>> initialise the first queue-pair, and in turn the DPDK will not signal
>> that the vhost interface is up.
>>
>> This change allows the DPDK to signal that the vhost interface is up
>> after only the first queue-pair is fully initialised if the guest VM
>> does not support the multiqueue option.
>>
>> Signed-off-by: Alan Dewar<alan.dewar@att.com>
>> ---
>>   lib/librte_vhost/vhost.c      |  6 +++---
>>   lib/librte_vhost/vhost_user.c |  8 +++++++-
>>   lib/librte_vhost/virtio_net.c | 12 +++++++++---
>>   3 files changed, 19 insertions(+), 7 deletions(-)
>
>
> We already implemented a workaround to fix this issue:
>  commit e29109323595beb3884da58126ebb3b878cb66f5
> Author: Maxime Coquelin <maxime.coquelin@redhat.com>
> Date:   Wed Dec 13 09:51:09 2017 +0100
>
>     vhost: destroy unused virtqueues when multiqueue not negotiated
>
>     QEMU sends VHOST_USER_SET_VRING_CALL requests for all queues
>     declared in QEMU command line before the guest is started.
>     It has the effect in DPDK vhost-user backend to allocate vrings
>     for all queues declared by QEMU.
>
>     If the first driver being used does not support multiqueue,
>     the device never changes to VIRTIO_DEV_RUNNING state as only
>     the first queue pair is initialized. One driver impacted by
>     this bug is virtio-net's iPXE driver which does not support
>     VIRTIO_NET_F_MQ feature.
>
>     It is safe to destroy unused virtqueues in SET_FEATURES request
>     handler, as it is ensured the device is not in running state
>     at this stage, so virtqueues aren't being processed.
>
>     Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
>     Acked-by: Laszlo Ersek <lersek@redhat.com>
>     Acked-by: Yuanhan Liu <yliu@fridaylinux.org>
>
>
> Could you try with latest master and confirm it solves the issue on your
> side?
>
> Cheers,
> Maxime

      parent reply	other threads:[~2018-02-05 10:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-31 14:42 alangordondewar
2018-02-05  8:42 ` Maxime Coquelin
2018-02-05  9:14   ` Dewar, Alan
2018-02-05 10:18   ` Alan Dewar [this message]

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='CAOEQf6gJHhM7r5C-uoYog=94yoqEdhbwdMvmCNhy_660gse=Rg@mail.gmail.com' \
    --to=alangordondewar@gmail.com \
    --cc=alan.dewar@att.com \
    --cc=dev@dpdk.org \
    --cc=maxime.coquelin@redhat.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 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).