Howto implement a periodic real-time task?
Andre Puschmann
andre.puschmann at imms.de
Tue Jul 21 11:03:38 CEST 2009
Hey guys,
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
5000Hz.
As described in [1] 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?
Cheers,
Andre
[1] http://os.inf.tu-dresden.de/pipermail/l4-hackers/2009/004179.html
More information about the l4-hackers
mailing list