genode/repos/os/src/drivers/timer
Christian Helmuth 28004bc9e6 timer: limit rate of handling timeouts
Ensure that the timer does not handle timeouts again within 1000
microseconds after the last handling of timeouts. This makes denial of
service attacks harder. This commit does not limit the rate of timeout
signals handled inside the timer but it causes the timer to do it less
often. If a client continuously installs a very small timeout at the
timer it still causes a signal to be submitted to the timer each time
and some extra CPU time to be spent in the internal handling method. But
only every 1000 microseconds this internal handling causes user timeouts
to trigger.

If we would want to limit also the call of the internal handling method
to ensure that CPU time is spent beside the RPCs only every 1000
microseconds, things would get more complex. For instance, on NOVA
Time_source::schedule_timeout(0) must be called each time a new timeout
gets installed and becomes head of the scheduling queue. We cannot
simply overwrite the already running timeout with the new one.

Ref #2490
2017-10-05 17:40:05 +02:00
..
epit wand_quad: re-enable i.MX6 EPIT user level timer 2017-08-17 11:04:21 +02:00
fiasco timer/foc: use current KIP-clock API 2017-06-19 12:35:55 +02:00
foc Disambiguate kernel-specific file names 2016-12-23 16:51:32 +01:00
hw os/timer: interpolate time via timestamps 2017-05-31 13:16:11 +02:00
include timer: limit rate of handling timeouts 2017-10-05 17:40:05 +02:00
linux os/timer: interpolate time via timestamps 2017-05-31 13:16:11 +02:00
nova os/timer: interpolate time via timestamps 2017-05-31 13:16:11 +02:00
periodic os/timer: interpolate time via timestamps 2017-05-31 13:16:11 +02:00
pit timer pit: handle and display bad latency 2017-10-05 17:39:55 +02:00
main.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
target.inc os/timer: interpolate time via timestamps 2017-05-31 13:16:11 +02:00