[dpdk-dev] [RFC PATCH v2 0/1] eventtimer: introduce event timer adapter

Carrillo, Erik G erik.g.carrillo at intel.com
Mon Oct 9 22:30:35 CEST 2017

> >
> > The second big change is to replace API parameters specifying pointer
> > to rte_event_timer_adapter with ids, which seems more common
> > throughout DPDK.
> >
> > Other changes include:
> >  - removed rte_event_timer_adapter_lookup() function, since APIs no
> longer
> >    accept pointer to rte_event_timer_adapter
> There is one difference between ethdev rx adapter, where we have
> rte_event_timer_arm_burst(), rte_event_timer_arm_tmo_tick_burst(),
> rte_event_timer_cancel_burst(),
> APIs in fastpath. So any multi process scheme where resolving the fastpath
> API functions in _one_ or zero redirection is fine.

I see, makes sense.

> I guess in we may need 2 or 3 indirection to resolve the fastpath functions
> with id scheme. Please choose scheme with one 1 or no redirection.
> I think,
> - By allocating adapter memory from the heap and

Just to check, are you talking about the heap (e.g., rte_malloc) in hugepage memory?

> - adapter hold the function pointers for multi process and
> - mempool kind of pointer object scheme without id and lookup() Can
> resolve function pointers without any indirection.

Can you elaborate here?  In the mempool implementation, it looks like there's a per-process array of ops objects, and each mempool instance has an index into the array that it uses to select the ops object to call through.  Since the ops structures are initialized per-process, they get function pointers valid in that process - which relates to the second point above. If the adapter holds function pointers for a primary process (for example), they'll be invalid in the secondary.  Am I missing something?


> So please analyze on those lines as well.

More information about the dev mailing list