DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] kni vs. pmd
@ 2013-12-10 23:12 Jose Gavine Cueto
  2013-12-10 23:15 ` Jose Gavine Cueto
  0 siblings, 1 reply; 4+ messages in thread
From: Jose Gavine Cueto @ 2013-12-10 23:12 UTC (permalink / raw)
  To: dev

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] kni vs. pmd
  2013-12-10 23:12 [dpdk-dev] kni vs. pmd Jose Gavine Cueto
@ 2013-12-10 23:15 ` Jose Gavine Cueto
  2013-12-12 23:07   ` Pashupati Kumar
  0 siblings, 1 reply; 4+ messages in thread
From: Jose Gavine Cueto @ 2013-12-10 23:15 UTC (permalink / raw)
  To: dev

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.

Cheers,
Pepe


On Wed, Dec 11, 2013 at 7:12 AM, Jose Gavine Cueto <pepedocs@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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] kni vs. pmd
  2013-12-10 23:15 ` Jose Gavine Cueto
@ 2013-12-12 23:07   ` Pashupati Kumar
  2013-12-13  3:11     ` Jose Gavine Cueto
  0 siblings, 1 reply; 4+ messages in thread
From: Pashupati Kumar @ 2013-12-12 23:07 UTC (permalink / raw)
  To: Jose Gavine Cueto, dev

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jose Gavine Cueto
> Sent: Tuesday, December 10, 2013 3:16 PM
> To: dev@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@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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [dpdk-dev] kni vs. pmd
  2013-12-12 23:07   ` Pashupati Kumar
@ 2013-12-13  3:11     ` Jose Gavine Cueto
  0 siblings, 0 replies; 4+ messages in thread
From: Jose Gavine Cueto @ 2013-12-13  3:11 UTC (permalink / raw)
  To: Pashupati Kumar; +Cc: dev

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@brocade.com> wrote:

> > -----Original Message-----
> > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jose Gavine Cueto
> > Sent: Tuesday, December 10, 2013 3:16 PM
> > To: dev@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@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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-12-13  3:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-10 23:12 [dpdk-dev] kni vs. pmd Jose Gavine Cueto
2013-12-10 23:15 ` Jose Gavine Cueto
2013-12-12 23:07   ` Pashupati Kumar
2013-12-13  3:11     ` Jose Gavine Cueto

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).