diff mbox

[ovs-dev,v1] INSTALL.DPDK: Add notes regarding vhost multiq configuration.

Message ID 1454691357-5568-1-git-send-email-ian.stokes@intel.com
State Superseded
Headers show

Commit Message

Stokes, Ian Feb. 5, 2016, 4:55 p.m. UTC
Kernel network devices in a guest should have the number of multi-purpose
channels configured when used with DPDK multiqueue on the host. This commit
adds an example of how this can be done. Also add QEMU 2.5 requirements for
multiqueue with DPDK in NEWS.

Signed-off-by: Ian Stokes <ian.stokes@intel.com>
---
 INSTALL.DPDK.md |   13 +++++++++++++
 NEWS            |    2 +-
 2 files changed, 14 insertions(+), 1 deletions(-)

Comments

Ilya Maximets Feb. 9, 2016, 1:39 p.m. UTC | #1
Hi.
There is one issue with patch itself:
	Applying: INSTALL.DPDK: Add notes regarding vhost multiq configuration.
	warning: 3 lines add whitespace errors.

And one comment inlined.

Best regards, Ilya Maximets.

On 05.02.2016 19:55, Ian Stokes wrote:
> Kernel network devices in a guest should have the number of multi-purpose
> channels configured when used with DPDK multiqueue on the host. This commit
> adds an example of how this can be done. Also add QEMU 2.5 requirements for
> multiqueue with DPDK in NEWS.
> 
> Signed-off-by: Ian Stokes <ian.stokes@intel.com>
> ---
>  INSTALL.DPDK.md |   13 +++++++++++++
>  NEWS            |    2 +-
>  2 files changed, 14 insertions(+), 1 deletions(-)
> 
> diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
> index d892788..d38a42e 100644
> --- a/INSTALL.DPDK.md
> +++ b/INSTALL.DPDK.md
> @@ -586,6 +586,19 @@ Follow the steps below to attach vhost-user port(s) to a VM.
>     -device virtio-net-pci,mac=00:00:00:00:00:02,netdev=mynet2,mq=on,vectors=$v
>     ```
>  
> +   If using a kernel network device in the guest, the multi purpose channels
> +   should be configured with the number of queues to be used for the device.

This is not only kernel drivers' problem. As I described in my version of
this patch *any driver* (kernel, userspace PMD or whatever else) must be
configured to use exactly same number of queues. Because if number of queues
will be less, some packets will get stuck in queues unused by guest and will
not be received.

> +
> +   ```
> +   ethtool -L <DEV> combined <$q>
> +   ```
> +
> +   A note on the command above: 
> +
> +   `-L`: Changes the numbers of channels of the specified network device
> +
> +   `combined`: Changes the number of multi-purpose channels. 
> +
>  DPDK vhost-cuse:
>  ----------------
>  
> diff --git a/NEWS b/NEWS
> index c133838..a4c7672 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -53,7 +53,7 @@ v2.5.0 - xx xxx xxxx
>     - DPDK:
>       * Requires DPDK 2.2
>       * Added multiqueue support to vhost-user
> -
> +     * Note: QEMU 2.5+ required for multiqueue support
>  
>  v2.4.0 - 20 Aug 2015
>  ---------------------
>
Stokes, Ian Feb. 9, 2016, 2:10 p.m. UTC | #2
Thanks for the review Ilya, much appreciated, comments inline.
> Hi.

> There is one issue with patch itself:

> 	Applying: INSTALL.DPDK: Add notes regarding vhost multiq

> configuration.

> 	warning: 3 lines add whitespace errors.

> 

Noted, I'll clean these up for the v2.
> And one comment inlined.

> 

> Best regards, Ilya Maximets.

> 

> On 05.02.2016 19:55, Ian Stokes wrote:

> > Kernel network devices in a guest should have the number of

> > multi-purpose channels configured when used with DPDK multiqueue on

> > the host. This commit adds an example of how this can be done. Also

> > add QEMU 2.5 requirements for multiqueue with DPDK in NEWS.

> >

> > Signed-off-by: Ian Stokes <ian.stokes@intel.com>

> > ---

> >  INSTALL.DPDK.md |   13 +++++++++++++

> >  NEWS            |    2 +-

> >  2 files changed, 14 insertions(+), 1 deletions(-)

> >

> > diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md index d892788..d38a42e

> > 100644

> > --- a/INSTALL.DPDK.md

> > +++ b/INSTALL.DPDK.md

> > @@ -586,6 +586,19 @@ Follow the steps below to attach vhost-user

> port(s) to a VM.

> >     -device virtio-net-

> pci,mac=00:00:00:00:00:02,netdev=mynet2,mq=on,vectors=$v

> >     ```

> >

> > +   If using a kernel network device in the guest, the multi purpose

> channels

> > +   should be configured with the number of queues to be used for the

> device.

> 

> This is not only kernel drivers' problem. As I described in my version

> of this patch *any driver* (kernel, userspace PMD or whatever else) must

> be configured to use exactly same number of queues. Because if number of

> queues will be less, some packets will get stuck in queues unused by

> guest and will not be received.

> 

Understood, this is an important point, I can add your comment to the patch in v2 and you can sign off if you're happy?
> > +

> > +   ```

> > +   ethtool -L <DEV> combined <$q>

> > +   ```

> > +

> > +   A note on the command above:

> > +

> > +   `-L`: Changes the numbers of channels of the specified network

> > + device

> > +

> > +   `combined`: Changes the number of multi-purpose channels.

> > +

> >  DPDK vhost-cuse:

> >  ----------------

> >

> > diff --git a/NEWS b/NEWS

> > index c133838..a4c7672 100644

> > --- a/NEWS

> > +++ b/NEWS

> > @@ -53,7 +53,7 @@ v2.5.0 - xx xxx xxxx

> >     - DPDK:

> >       * Requires DPDK 2.2

> >       * Added multiqueue support to vhost-user

> > -

> > +     * Note: QEMU 2.5+ required for multiqueue support

> >

> >  v2.4.0 - 20 Aug 2015

> >  ---------------------

> >
diff mbox

Patch

diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md
index d892788..d38a42e 100644
--- a/INSTALL.DPDK.md
+++ b/INSTALL.DPDK.md
@@ -586,6 +586,19 @@  Follow the steps below to attach vhost-user port(s) to a VM.
    -device virtio-net-pci,mac=00:00:00:00:00:02,netdev=mynet2,mq=on,vectors=$v
    ```
 
+   If using a kernel network device in the guest, the multi purpose channels
+   should be configured with the number of queues to be used for the device.  
+
+   ```
+   ethtool -L <DEV> combined <$q>
+   ```
+
+   A note on the command above: 
+
+   `-L`: Changes the numbers of channels of the specified network device
+
+   `combined`: Changes the number of multi-purpose channels. 
+
 DPDK vhost-cuse:
 ----------------
 
diff --git a/NEWS b/NEWS
index c133838..a4c7672 100644
--- a/NEWS
+++ b/NEWS
@@ -53,7 +53,7 @@  v2.5.0 - xx xxx xxxx
    - DPDK:
      * Requires DPDK 2.2
      * Added multiqueue support to vhost-user
-
+     * Note: QEMU 2.5+ required for multiqueue support
 
 v2.4.0 - 20 Aug 2015
 ---------------------