On Thu, Sep 2, 2021 at 10:02 AM Kaladi, Ashok K
<ashok.k.kal...@intel.com> wrote:
>
> Hi Jerin,

Hi Ashok,

>
>
> -----Original Message-----
> From: Jerin Jacob <jerinjac...@gmail.com>
> Sent: Wednesday, September 1, 2021 1:20 PM
> To: Kaladi, Ashok K <ashok.k.kal...@intel.com>; Harman Kalra 
> <hka...@marvell.com>; Nithin Dabilpuram <ndabilpu...@marvell.com>; Yigit, 
> Ferruh <ferruh.yi...@intel.com>; Burakov, Anatoly 
> <anatoly.bura...@intel.com>; Richardson, Bruce <bruce.richard...@intel.com>; 
> Ananyev, Konstantin <konstantin.anan...@intel.com>; Thomas Monjalon 
> <tho...@monjalon.net>; David Marchand <david.march...@redhat.com>
> Cc: jer...@marvell.com; Jayatheerthan, Jay <jay.jayatheert...@intel.com>; 
> Carrillo, Erik G <erik.g.carri...@intel.com>; Gujjar, Abhinandan S 
> <abhinandan.guj...@intel.com>; dev@dpdk.org; Ayyadurai, Balasankar 
> <balasankar.ayyadu...@intel.com>
> Subject: Re: [dpdk-dev] [RFC] Control packet event adapter and FIFO library
>
> On Wed, Sep 1, 2021 at 11:55 AM Jerin Jacob <jerinjac...@gmail.com> wrote:
> >
> > On Wed, Sep 1, 2021 at 11:12 AM Kaladi, Ashok K
> > <ashok.k.kal...@intel.com> wrote:
> > >
> > > Dear dpdk-dev team,
> > >
> > > We would like to propose the following RFC for your review.
> > >
> > > A user space application may need access to the packets handled by
> > > eventdev based DPDK application. This application doesn't use mbuf
> > > or eventdev based DPDK APIs. Presently this is not possible without
> > > passing packets through DPDK KNI.
> >
> >
> > I think it is an innovative idea it is useful for multiple use cases
> > not just for eventdev.
> >
> > Some feedback on thoughts
> >
> > 1) The FIFO library should be generic it should not be specific to
> > eventdev
>
> Agreed, it's planned to be generic.
>
> > 2) I think,  This FIFO library should be generic and  KNI also be a
> > consumer of this library
>
> Agreed,  any adaptation needed in KNI can be taken up later.
>
> > 3) I think, FIFO should not be a device instead it should be an
> > abstact object like rte_mempool *
>
> FIFO is comparable to queue. We will have a data structure which contains 
> address of Rx, Tx, Alloc & Free FIFOs, number of queues etc.
> This can be used to create a device. This method is similar to KNI -  struct 
> kni_dev.
>
> > 4) We need to consider User space app can be another DPDK primary
> > process or some non DPDK app
>
> Agreed
>
> > 4) I think, we can remove the Linux shared memory dependency instead
> > of introduce some scheme of "exporting" memzone from DPDK application
> > to another user space app or another DPDK primary process.
> > I see the following reasons:
> > - It is backed by hugepage so better performance
> > - Is kernel do any memcpy when using Linux shm calls in kernel space?
>
> We are proposing to use POSIX complaint APIs shm_open(), mmap() APIs to 
> create shared memory to avoid dependency on Linux.
> The shared memory is created in Hugepages and contains mempool and mbufs. 
> This is done by control packet adapter.
> This avoids application to be aware of these DPDK constructs. It just needs 
> to know about the simplified format defined by FIFO lib.
> Proposed use case is for user space application which doesn’t need memcpy as 
> mempool is in shared memory.
> For Kernel application we may use similar approach as in KNI. This can be 
> taken up later.

+ memif maintainer ( jgraj...@cisco.com )

I just looked memif, based on a suggestion from @Mattias Rönnblom

Looks like memif is already solved this problem in a clean way and
DPDK has support for the same as ethdev driver.
I think, it has only a downside that it has Linux OS dependency due to
memfd_create(). Any other downside for memif?
I think, may be,  we need to weigh in pros and cons of memif vs new
proposing library. Could you check the same?

>
> >
> > Thoughts?
> >
> > May be you can share set of API prototypes without any implementation
> > for the next level discussion if others are OK this kind of library.
>
>

Reply via email to