Am Dienstag, den 26.08.2008, 08:50 -0400 schrieb Theodore Tso:
Sorry, the world of embedded programming is sometime stranger than in
theory. Normally it would not happen that a real-time process locks the
CPU for more than 1 sec. But in some circumstances, especially FPGA
initialisation and long term measurements it is possible that the
real-time process locks the cpu for more than a, sometime for more than
10 sec. If the embedded program has designed it in that way, this
behaviour is desired.
This has nothing to do with POSIX. It is standard real time behaviour.
RT Programming is a job like writing device drivers. U must know what
you do.
Modify the scheduler in that way that a realtime process will give away
the CPU after a given time will certain break some embedded application.
Don't think only in desktop or enterprise LINUX boxes, there a much more
LINUX embedded devices on this planet and not less of them rely on the
old scheduler behaviour.
The LINUX base guideline is simple in that way, that the kernel will
never break userland applications.
What coming at next? A device driver manager, which kills any driver
which use to much CPU resource? Or throttle/kicks off the responsible
driver if the hardware generates to many interrupts?
Kernel and embedded real time programmer should know what there do.
Stefani
--