[uClinux-dev] Re: realtime scheduling...
bkuhn at metrowerks.com
Mon Mar 17 06:40:31 EST 2003
Miles Bader wrote:
> [Does anyone remember the name of this stuff?]
I guess you are talking about ADEOS?
ADEOS has already been integrated into RTAI (x86 only,
afair). Besides hard real time aspects, the most funny
thing about ADEOS is that it could be used to run several
instances of the same or even different operating
systems, i.e. you could have 1x RTEMS and 2x uClinux
running on the same hardware to seperate real time and
security relevant environments.
A standard/uClinux Linux kernel is not that bad
concerning hard real time interrupt processing: i recently
carefully reviewed the interupt processing on a MIPS
uClinux kernel (on that level, there is no significant
difference to an MMU-full system) and if you have enough
discipline to provide a bottom-half (tasklet) for each
driver, then the worst case interrupt latency meassured is
arround 20 microseconds (2 microseconds in idle mode and 5
microseconds under ping-flood condition). On an embedded
system that has a defined driver setup, it's only a minor
engineering effort to implement tasklets for drivers in
use. The situation is certainly different for PC based
hard real time processing since the carefully achieved
low interrupt latency very likely will be lost by
just adding some network card.
For a "real" RTOS, the worst case probably is somewhere at
5 to 10 microseconds, but this is IMHO not a realy
significant improvement: usual deadlines for automatisation
applications is arround 50-100 microseconds (YMMV).
During the code review, i have recognized that the
scheduler is invoked with interrupts disabled when
coming back from interupt processing. I'm not sure why
this needs to be done since all relevant resources
in the scheduler are already spinlock protected
(maybe it's just a functional bug in the assembly code).
Anyway: on a usual uClinux system, you probably don't
have more that 20 processes running, so rescheduling
shouldn't cause too much latencies.
RTAI mailing list
RTAI at rtai.org
More information about the uClinux-dev