Hi Pashupati, Thanks for mentioning the extra copy. But I couldn't grasp much about "I look at KNI as more for control path operation and PMDs for data path" . Could you please give a simple example if you have time ?
Thanks, Pepe On Fri, Dec 13, 2013 at 7:07 AM, Pashupati Kumar <kumarp at brocade.com> wrote: > > -----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 > -- To stop learning is like to stop loving.