[+dev at 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 at 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 at 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 at gmail.com] >> *Sent:* Thursday, September 18, 2014 12:56 PM >> *To:* Zhang, Helin >> *Cc:* dev at 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 at intel.com> >> wrote: >> >> Hi Malveeka >> >> > -----Original Message----- >> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Malveeka Tewari >> > Sent: Thursday, September 18, 2014 6:51 AM >> > To: dev at 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 >> >> >> > >