Howto implement a periodic real-time task?
andre.puschmann at imms.de
Tue Jul 21 11:03:38 CEST 2009
I got a L4 real-time application that should run strictly periodic. In
each cycle I have to communicate with at least two other L4 threads in
different address spaces. The cycle period is in the order of 1000Hz to
As described in  I tried to use the CPU reservation server but the
sample implementations did not work. Anyway, I figured out that even the
CPU reservation server depends on the kernel timer and thus the
granularity is 1ms (in PIT mode), which is too coarse for cycle periods
larger then 1000Hz.
Although I like the idea to use OS primitives to keep the application as
portable as possible (ARM port is a goal), I thought about implementing
the periodic execution with an extra timer decoupled from the scheduling
timer which generates an IRQ at each hit.
Any comment/suggestions/ideas about that? Any other experience with
periodic real-time tasks on L4?
More information about the l4-hackers