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? > >