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.

Reply via email to