I think I do now. So antoher question: from device memory to host memory, is it a DMA transfer for some other SoC specific technology?
Cordially, FF On 15 June 2017 at 17:58, Bala Manoharan <[email protected]> wrote: > > On 15 June 2017 at 20:00, Francois Ozog <[email protected]> wrote: > >> I wonder then how packet receive in HW driven packet buffers is handled, >> may be with device memory.... >> >> Can you explain the cases of packet receive with ODP application supplied >> (through packetio open) mempools? >> > > There needs to be atleast one pool linked to a pktio interface and there > can be more than one if application wants to configure different pools for > different flows. The configuration of the pool is given by the application > so that any traffic burst in a single flow does not overload the entire > system processing for other flows. > > So when application configures a packet pool we allocate internal shared > memory and pool allocator and link it to the pktio interface. When packet > is received in the pktio interface the packet is allocated from the linked > pool. > > Does this answer your question? > > Regards, > Bala > >> >> FF >> >> On 15 June 2017 at 15:42, Bala Manoharan <[email protected]> >> wrote: >> >>> Add on. It is also possible that the pool might not be linked to any >>> pktio >>> eg buffer pools, hence in implementation we can not wait for the pool to >>> be >>> linked to pktio. >>> >>> Regards, >>> Bala >>> >>> On 15 June 2017 at 18:11, Bill Fischofer <[email protected]> >>> wrote: >>> >>> > A pool may be associated with a pktio at open time, but this >>> > association is not exclusive. In theory an ODP implementation could >>> > defer actual pool creation until it was first used, but such an >>> > approach would be unlikely to yield any real benefits while creating a >>> > lot of complications along the way since odp_pool_create() is the only >>> > opportunity the implementation has to fail the pool creation in a >>> > defined manner. >>> > >>> > On Thu, Jun 15, 2017 at 2:29 AM, Bala Manoharan >>> > <[email protected]> wrote: >>> > > Same here. Pool is created during odp_pool_create API. >>> > > >>> > > >>> > > Regards, >>> > > Bala >>> > > >>> > > On 15 June 2017 at 12:36, Nikhil Agarwal <[email protected]> >>> wrote: >>> > > >>> > >> Pool is created at odp_pool_create only. You can allocate packets >>> form >>> > it >>> > >> even before pktio_open. >>> > >> >>> > >> Regards >>> > >> Nikhil >>> > >> >>> > >> -----Original Message----- >>> > >> From: lng-odp [mailto:[email protected]] On Behalf >>> Of >>> > >> Honnappa Nagarahalli >>> > >> Sent: Thursday, June 15, 2017 9:27 AM >>> > >> To: lng-odp-forward <[email protected]> >>> > >> Subject: [lng-odp] Mem pool creation in Cavium/NXP implementations >>> > >> >>> > >> Hi Bala/Nikhil, >>> > >> I was wondering when is the memory pool created in your >>> > implementation >>> > >> of ODP? The programming model is that the application creates the >>> memory >>> > >> pool and passes that pool to the pkt I/O during packet I/O open >>> call. Do >>> > >> you actually create the pool when the application calls >>> > odp_pool_create? Or >>> > >> is the pool created during packet I/O open? >>> > >> >>> > >> Appreciate your answers. >>> > >> >>> > >> Thank you, >>> > >> Honnappa >>> > >> >>> > >>> >> >> >> >> -- >> [image: Linaro] <http://www.linaro.org/> >> François-Frédéric Ozog | *Director Linaro Networking Group* >> T: +33.67221.6485 >> [email protected] | Skype: ffozog >> >> > -- [image: Linaro] <http://www.linaro.org/> François-Frédéric Ozog | *Director Linaro Networking Group* T: +33.67221.6485 [email protected] | Skype: ffozog
