diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-03-12 15:35:56 +0100 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-03-12 15:35:56 +0100 |
commit | 7be3af7fa662958782d2e23989d79cc2c652b6bf (patch) | |
tree | aeecb3e36af55eb4367f0b5218e3301d6383808e /lib/timer.c | |
parent | 9cf3d533110313d55b60d47c134f1b7050d6be78 (diff) |
Rate-limit scheduling of work-events
In general, events are code handling some some condition, which is
scheduled when such condition happened and executed independently from
I/O loop. Work-events are a subgroup of events that are scheduled
repeatedly until some (often significant) work is done (e.g. feeding
routes to protocol). All scheduled events are executed during each
I/O loop iteration.
Separate work-events from regular events to a separate queue and
rate limit their execution to a fixed number per I/O loop iteration.
That should prevent excess latency when many work-events are
scheduled at one time (e.g. simultaneous reload of many BGP sessions).
Diffstat (limited to 'lib/timer.c')
0 files changed, 0 insertions, 0 deletions