aboutsummaryrefslogtreecommitdiffstats
path: root/src/vppinfra/tw_timer_template.h
AgeCommit message (Collapse)AuthorFilesLines
2017-06-12three-level timer wheel implementation w/ overflow vectorDave Barach1-7/+41
prep work for s/timing_wheel/tw_timer/ in the vlib process model Change-Id: I763f4968a8fce1764a3778b12def0afbd30086b1 Signed-off-by: Dave Barach <dave@barachs.net>
2017-02-16tw_timer_expire_timers() - add a maximum to the number of expiration per callGabriel Ganne1-1/+4
The idea is to prevent a huge processing burst if, say, the network goes down 10' for some reason, and so that we don't need to expire 1M timer sessions on the first call. The maximum is not an exact value, but a value after which the expiration process is postponed until the next call. That way, we don't have to process the same tick twice, nor to unlink timers once at a time when processing a tick. The fact that a timer slot could contain many entries should be dealt with by changing the number of ticks per second. Change-Id: I892d07f965094102a3d53e7dbf4e6f5ad22d4967 Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-02-16tw_timer_expire_timers() return the number of expirationsGabriel Ganne1-1/+1
to be used for node statistics Also fix tw_timer_stop() description Change-Id: I84b529e330c4534fd55487e7e2b8b089ee68ca11 Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-02-05Wheel-timer infraDave Barach1-0/+199
Change-Id: I5499dd6b768425a56936afae50bd578620c83d30 Signed-off-by: Dave Barach <dave@barachs.net>