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