Hi, On Saturday, February 22, 2014 2:17:24 PM UTC+2, [email protected] wrote: > > Just a few thoughts ... > > It is not possible to have a fully deterministic real-time operating > system on a processor that uses instruction/data caches. ie you have to > turn off the cacheing to achieve determinism and eliminate performance > jitter (which then degrades the average performance). >
Yep, but, that's the easy part. How about pipelines and instructions reordering done by the compiler and the processor? How about interrupts? How about multi-cores? How about the drift of the crystal you use as the clock source of your CPU? You might be shocked now, but as you can see it's impossible to have a hard real-time system with state of the art (multi-core) processors. Is it? I think that you need to come up with a realistic test suite to see if preempt-rt (with or without CPU isolation) is good enough, or if you need Xenomai (still you will see issues if Xenomai and Linux use the same caches), or some dedicated hardware like PRU. There is also some interesting work by Jan Kiszka - not yet on ARM.[1] Regards, Robert [1] http://lwn.net/Articles/574273/ Shameless self promotion: [2] http://www.reliableembeddedsystems.com/pdfs/2010_03_04_rt_linux.pdf [3] http://www.embedded.com/design/operating-systems/4204740/Getting-real--time--about-embedded-GNU-Linux -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
