[dpdk-dev] KNI performance is not what is claimed

Honnappa Nagarahalli Honnappa.Nagarahalli at arm.com
Mon Oct 1 16:22:55 CEST 2018


> >
> > On Thu, Sep 20, 2018 at 3:16 PM Stephen Hemminger <
> > stephen at networkplumber.org> wrote:
> >
> > > On Thu, 20 Sep 2018 15:02:53 -0500
> > > Jay Rolette <rolette at infinite.io> wrote:
> > >
> > > > On Thu, Sep 20, 2018 at 1:11 PM Stephen Hemminger <
> > > > stephen at networkplumber.org> wrote:
> > > >
> > > > > I wonder if KNI is claiming performance that was never measured
> > > > > on
> > > current
> > > > > CPU, OS, DPDK.
> > > > >
> > > > > With single stream and TCP testing on IXGBE (DPDK), I see lowest
> > > > > performance with KNI.
> > > > >
> > > > >                 Rx              Tx
> > > > >         KNI     3.2 Gbit/sec    1.3 Gbit/sec
> > > > >         TAP     4.9             4.7
> > > > >         Virtio  5.6             8.6
> > > > >
> > > > > Perhaps for 18.11 we should change documentation to remove
> > language
> > > > > claiming
> > > > > better performance with KNI, and then plan for future deprecation?
> > > > >
> > > >
> > > > Do TAP and Virtio provide equivalent function to KNI? I can't
> > > > speak for
> > > any
> > > > other products, but ours is dependent on KNI. The ability for
> > > > control
> > > plane
> > > > applications to use normal Linux sockets with DPDK is key even if
> > > > it
> > > isn't
> > > > performant.
> > > >
> > > > Hopefully the answer is "yes", in which case I'll happily port
> > > > over to using one of the faster mechanisms.
> > > >
> > > > Thanks,
> > > > Jay
> > >
> > > See:
> > >
> > > https://doc.dpdk.org/guides-
> > 17.11/howto/virtio_user_as_exceptional_path.html
This document says 'similar to KNI, this solution would use one or more kthreads to send/receive packets to/from user space DPDK applications, which has little impact on user space polling thread (except that it might enter into kernel space to wake up those kthreads if necessary)'. Does this mean the user space polling thread will make a system call? I am not a kernel expert. But, would this mean, the user space thread might block?

> >
> >
> > Thanks. Looks like it's time to run some experiments again.
> 
> To do the test with the latest DPDK 17.11 LTS, you'll need the below one-line
> fix (which was missed during backporting) to enable the
> offloads:
> https://git.dpdk.org/dpdk/commit/?id=bce7e9050f9b
> 
> You can also refer to this paper for more details:
> https://dl.acm.org/citation.cfm?id=3098586
> 
> -Zhihong
> 
> >
> > Jay


More information about the dev mailing list