[dpdk-dev] [PATCH v2 0/3] timer: fix rte_timer_reset

Bruce Richardson bruce.richardson at intel.com
Wed Feb 25 12:16:44 CET 2015


On Wed, Feb 25, 2015 at 06:02:24AM -0500, Robert Sanford wrote:
> Hi Thomas,
> 
> Yes, I'm interested in becoming a maintainer of rte_timer. What are the
> responsibilities?
> 
> 
> One question about lib rte_timer that's been troubling me for a while: How
> are skip lists better than BSD-style timer wheels?
> 
> --

The skip list may not be any better than a timer wheel - it's just what is used
now, and it does give pretty good performance (insert O(log n) [up to a few 
million timers per core], expiry O(1)).
Originally in DPDK, the timers were maintained in a regular sorted linked list,
but that suffered from scalability issues when starting timers, or stopped before
expiry. The skip-list was therefore a big improvement on that, and gave us
much greater scalability in timers, without any regressions in performance. I
don't know if anyone has tried to implement and benchmark a timer-wheel based
rte_timer library replacement. I'd be interested to see a performance comparison
between the two implementations! :-)

Regards,
/Bruce

> Regards,
> Robert
> 
> 
> On Wed, Feb 25, 2015 at 4:46 AM, Thomas Monjalon <thomas.monjalon at 6wind.com>
> wrote:
> 
> > > > Changes in v2:
> > > > - split into multiple patches
> > > > - minor coding-style changes
> > > >
> > > > Robert Sanford (3):
> > > >    timer: fix return value of rte_timer_reset(),
> > > >      insert rte_pause() into rte_timer_reset_sync() wait-loop
> > > >    app/test: fix timer stress test to succeed on multiple runs,
> > > >      display number of times that rte_timer_reset() fails
> > > >      (expected) due to races with other cores
> > >
> > > Series:
> > > Acked-by: Olivier Matz <olivier.matz at 6wind.com>
> >
> > Applied, thanks
> >
> > Robert, as you well know rte_timer and you work on it,
> > maybe you are interested in becoming maintainer?
> >


More information about the dev mailing list