[dpdk-dev] kni vs. pmd

Pashupati Kumar kumarp at Brocade.COM
Fri Dec 13 00:07:39 CET 2013


> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jose Gavine Cueto
> Sent: Tuesday, December 10, 2013 3:16 PM
> To: dev at dpdk.org
> Subject: Re: [dpdk-dev] kni vs. pmd
> 
> Additional question:
> 
> Apart from the possible fact that kni performs zero-copy in the driver layer,
> does this also apply on the sockets layer, or does the sockets operations (+
> sys calls) are not avoided ?  This is assuming that the application uses regular
> sockets to read/write to knis.
If you are going to use KNI, there is a copy involved from iovec to RTE mbuf memory ( assuming you are going to use Ring library for communication between DPDK application and KNI). I look at KNI as more for control path operation and PMDs for data path. 
> 
> Cheers,
> Pepe
> 
> 
> On Wed, Dec 11, 2013 at 7:12 AM, Jose Gavine Cueto
> <pepedocs at gmail.com>wrote:
> 
> > Hi,
> >
> > Correct me if I'm wrong, but in a high-level perspective I see that
> > kni is providing an option for applications to use their regular interfaces
> (e.g.
> > sockets) and abstracts the usage of pmds.
> >
> > If this is somehow correct, are there any differences with regard to
> > performance benefits that can be brought between directly using pmd
> > apis and kni ?
> >
> > I see that kni is easier to use, however at first (no code inspection)
> > look, it interfaces with the kernel which might have introduced some
> > overhead.
> >
> > Cheers,
> > Pepe
> >
> >
> > --
> > To stop learning is like to stop loving.
> >
> 
> 
> 
> --
> To stop learning is like to stop loving.

Thanks
Pash


More information about the dev mailing list