DPDK patches and discussions
 help / color / mirror / Atom feed
From: Malveeka Tewari <malveeka@gmail.com>
To: "Zhang, Helin" <helin.zhang@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Maximum possible throughput with the KNI DPDK Application
Date: Thu, 18 Sep 2014 16:15:13 -0700	[thread overview]
Message-ID: <CAFpzwwPCoOCg1CGP7OdduDBL5V45CqCbq7oFf_jzQ+bPefW5vA@mail.gmail.com> (raw)
In-Reply-To: <CAFpzwwOQFPuZ1h4pZeNGp=aEWFGayp14VYoa98qLM51HtQEeYA@mail.gmail.com>

[+dev@dpdk.org]

Sure, I understand that.
The 7Gb/s performance with iperf that I was getting was with one end-host
using the KNI  app and the other host running the traditional linux stack.
With both end hosts running the KNI app, I see about 2.75Gb/s which is
understandable because the TSO/LRO and other hardware NIC features are
turned off.

I have another related question.
Is it possible to use multiple traffic queues with the KNI app?
I tried created different queues using tc for the vEth0_0 device but that
gave me an error.

>$ sudo tc qdisc add dev vEth0_0 root handle 1: multiq
>$ RTNETLINK answers: Operation not supported

If I wanted to add support for multiple tc queues with the KNI app, where
should I start making my changes?
I looked at the "lib/librte_kni/rte_kni_fifo.h" but it wasn't clear how I
can add support for different queues for the KNI app.
Any pointers would be extremely helpful.

Thanks!

On Thu, Sep 18, 2014 at 3:28 PM, Malveeka Tewari <malveeka@gmail.com> wrote:

> Sure, I understand that.
> The 7Gb/s performance with iperf that I was getting was with one end-host
> using the DPDK framework and the other host running the traditional linux
> stack.
> With both end hosts using DPDK, I see about 2.75Gb/s which is
> understandable because the TSO/LRO and other hardware NIC features are
> turned off.
>
> I have another KNI related question.
> Is it possible to use multiple traffic queues with the KNI app?
> I tried created different queues using tc for the vEth0_0 device but that
> gave me an error.
>
> >$ sudo tc qdisc add dev vEth0_0 root handle 1: multiq
> >$ RTNETLINK answers: Operation not supported
>
> If I wanted to add support for multiple tc queues with the KNI app, where
> should I start making my changes?
> I looked at the "lib/librte_kni/rte_kni_fifo.h" but it wasn't clear how I
> can add support for different queues for the KNI app.
> Any pointers would be extremely helpful.
>
> Thanks!
> Malveeka
>
> On Wed, Sep 17, 2014 at 10:47 PM, Zhang, Helin <helin.zhang@intel.com>
> wrote:
>
>>  Hi Malveeka
>>
>>
>>
>> KNI loopback function can provide good enough performance, and more
>> queues/threads can provide better performance. For formal KNI, it needs to
>> talk with kernel stack and bridge, etc., the performance bottle neck is not
>> in DPDK part anymore. You can try more queues/threads to see if performance
>> is better. But do not expect too much!
>>
>>
>>
>> Regards,
>>
>> Helin
>>
>>
>>
>> *From:* Malveeka Tewari [mailto:malveeka@gmail.com]
>> *Sent:* Thursday, September 18, 2014 12:56 PM
>> *To:* Zhang, Helin
>> *Cc:* dev@dpdk.org
>> *Subject:* Re: [dpdk-dev] Maximum possible throughput with the KNI DPDK
>> Application
>>
>>
>>
>> Thanks Helin!
>>
>>
>>
>> I am actually working on a project to quantify the overhead of user-space
>> to kernel-space data copying in case of conventional socket based
>> applications.
>>
>> My understanding is that the KNI application involves userspace -> kernel
>> space -> user-space data copy again to send to the igb_uio driver.
>>
>> I wanted to find out if the 7Gb/s throughput is the maximum throughput
>> achievable by the KNI application or if someone has been able to achiever
>> higher rates by using more cores or some other configuration.
>>
>>
>>
>> Regards,
>>
>> Malveeka
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Wed, Sep 17, 2014 at 6:01 PM, Zhang, Helin <helin.zhang@intel.com>
>> wrote:
>>
>> Hi Malveeka
>>
>> > -----Original Message-----
>> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Malveeka Tewari
>> > Sent: Thursday, September 18, 2014 6:51 AM
>> > To: dev@dpdk.org
>> > Subject: [dpdk-dev] Maximum possible throughput with the KNI DPDK
>> > Application
>> >
>> > Hi all
>> >
>> > I've been playing the with DPDK API to send out packets using the l2fwd
>> app
>> > and the Kernel Network Interface app with a single Intel 82599 NIC on
>> an Intel
>> > Xeon E5-2630
>> >
>> > With the l2fwd application, I've been able to achieve 14.88 Mpps with
>> minimum
>> > sized packets.
>> > However, running iperf with the KNI application only gives  me only
>> ~7Gb/s
>> > peak throughput.
>>
>> KNI is quite different from other DPDK applications, it is not for fast
>> path forwarding. As it will pass the packets received in user space to
>> kernel space, and possible the kernel stack. So don't expect too much
>> higher performance. I think 7Gb/s might be a good enough data, what's your
>> real use case of KNI?
>>
>> >
>> > Has anyone achieved the 10Gb/s line rate with the KNI application?
>> > Any help would be greatly appreciated!
>> >
>> > Thanks!
>> > Malveeka
>>
>> Regards,
>> Helin
>>
>>
>>
>
>

  parent reply	other threads:[~2014-09-18 23:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-17 22:50 Malveeka Tewari
2014-09-18  1:01 ` Zhang, Helin
2014-09-18  4:55   ` Malveeka Tewari
     [not found]     ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A793CEF@SHSMSX104.ccr.corp.intel.com>
     [not found]       ` <CAFpzwwOQFPuZ1h4pZeNGp=aEWFGayp14VYoa98qLM51HtQEeYA@mail.gmail.com>
2014-09-18 23:15         ` Malveeka Tewari [this message]
2014-09-19  2:59           ` Zhang, Helin

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=CAFpzwwPCoOCg1CGP7OdduDBL5V45CqCbq7oFf_jzQ+bPefW5vA@mail.gmail.com \
    --to=malveeka@gmail.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@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 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).