genode/repos/os/include
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
..
audio_in_session API documentation refinements 2017-05-31 13:16:21 +02:00
audio_out_session API documentation refinements 2017-05-31 13:16:21 +02:00
blit Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
block default ahci_drv and part_blk Block sessions to read-only 2017-08-28 16:49:51 +02:00
block_session API documentation refinements 2017-05-31 13:16:21 +02:00
cli_monitor Integrate core's RAM service into the PD service 2017-05-31 13:16:14 +02:00
decorator Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
file_system file system: track content via version counter 2017-08-17 10:59:43 +02:00
file_system_session VFS: nonblocking interface 2017-08-28 16:49:38 +02:00
framebuffer_session API documentation refinements 2017-05-31 13:16:21 +02:00
gpio Streamline exception types 2017-05-31 13:16:07 +02:00
gpio_session API documentation refinements 2017-05-31 13:16:21 +02:00
gpu_session os: add Gpu driver for Intel Gen8 HD graphics 2017-08-30 09:59:57 +02:00
init Adaptation to init refactoring 2017-03-24 16:19:56 +01:00
input input/root.h: support re-opening of sessions 2017-10-05 17:40:03 +02:00
input_session API documentation refinements 2017-05-31 13:16:21 +02:00
ldso Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
loader_session API documentation refinements 2017-05-31 13:16:21 +02:00
mixer Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
net Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
nic Replace Quota_exceeded by Insufficient_ram_quota 2017-05-31 13:16:05 +02:00
nic_bridge Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
nic_session API documentation refinements 2017-05-31 13:16:21 +02:00
nitpicker_gfx Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
nitpicker_session API documentation refinements 2017-05-31 13:16:21 +02:00
os timer: limit rate of handling timeouts 2017-10-05 17:40:05 +02:00
packet_stream_rx Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
packet_stream_tx Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
platform_device Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
platform_session Annotate session interfaces with CAP_QUOTA 2017-05-31 13:16:04 +02:00
ram_fs file system: use Id_space instead of Node_handle_registry 2017-08-17 10:59:43 +02:00
regulator Streamline exception types 2017-05-31 13:16:07 +02:00
regulator_session API documentation refinements 2017-05-31 13:16:21 +02:00
report_rom Streamline exception types 2017-05-31 13:16:07 +02:00
report_session API documentation refinements 2017-05-31 13:16:21 +02:00
rtc_session Optional session label for Rtc connection constructor 2017-05-31 13:16:22 +02:00
spec riscv: ISA-1.9.1 and GCC-6.3.0 adaptions 2017-05-31 13:16:24 +02:00
terminal terminal: cursor-key handling w/o set key layout 2017-10-05 17:39:59 +02:00
terminal_session API documentation refinements 2017-05-31 13:16:21 +02:00
timer timer: limit rate of handling timeouts 2017-10-05 17:40:05 +02:00
timer_session timer connection: fast initial calibration 2017-08-23 14:08:37 +02:00
trace Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
uart_session API documentation refinements 2017-05-31 13:16:21 +02:00
usb usb: use if-else in packet_handler 2017-06-19 12:35:57 +02:00
usb_session API documentation refinements 2017-05-31 13:16:21 +02:00
util Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
vfs vfs: use unsigned 64bit for media size ioctl 2017-10-05 17:40:02 +02:00