[dpdk-dev] [PATCH v6 1/1] eventdev: add new software event timer adapter

Carrillo, Erik G erik.g.carrillo at intel.com
Fri Apr 26 20:58:30 CEST 2019



> -----Original Message-----
> From: Honnappa Nagarahalli [mailto:Honnappa.Nagarahalli at arm.com]
> Sent: Friday, April 26, 2019 1:51 PM
> To: Carrillo, Erik G <erik.g.carrillo at intel.com>;
> jerin.jacob at caviumnetworks.com
> Cc: mattias.ronnblom at ericsson.com; pbhagavatula at caviumnetworks.com;
> dev at dpdk.org; Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com>;
> nd <nd at arm.com>; nd <nd at arm.com>
> Subject: RE: [dpdk-dev] [PATCH v6 1/1] eventdev: add new software event
> timer adapter
> 
> Hi Erik,
> 	A quick question.
> 
> > -----Original Message-----
> > From: dev <dev-bounces at dpdk.org> On Behalf Of Erik Gabriel Carrillo
> > Sent: Friday, April 26, 2019 10:14 AM
> > To: jerin.jacob at caviumnetworks.com
> > Cc: mattias.ronnblom at ericsson.com;
> pbhagavatula at caviumnetworks.com;
> > dev at dpdk.org
> > Subject: [dpdk-dev] [PATCH v6 1/1] eventdev: add new software event
> > timer adapter
> >
> > This patch introduces a new version of the event timer adapter software
> PMD.
> > In the original design, timer event producer lcores in the primary and
> > secondary processes enqueued event timers into a ring, and a service
> > core in the primary process dequeued them and processed them further.
> > To improve performance, this version does away with the ring and lets
> > lcores in both primary and secondary processes insert timers directly
> > into timer skiplist data structures; the service core directly
> > accesses the lists as well, when looking for timers that have expired.
> How do you ensure concurrent access to the timer skiplist? Are you using any
> locks or is it a lock-free data structure?
> 
> <snip>

There are multiple timer skiplists,  one for each lcore, and each has its lock that is acquired as necessary when adding or removing timers from the skiplists.  This locking occurs in the underlying timer library, in the timer reset and stop functions.

Regards,
Erik


More information about the dev mailing list