Subject: Re: QUESTION: real-time, interrupt latency & atom process
To: Alfred Perlstein <bright@mu.org>
From: Reinoud Zandijk <reinoud@netbsd.org>
List: tech-kern
Date: 11/15/2001 10:53:06
Hi folks,

would it be a neat idea to include a RT kernel level scheduler in NetBSD 
just like ``RTLinux'' does? where the rest of the NetBSD kernel is `just' a 
task?

Well in your case the problem is that NetBSD is running in protected mode 
on the i486 and not in `real mode' ... this gives a huge interrupt overhead 
i've been told once for the processor will first try to call a `real mode' 
handler that has then to be switched back to protected mode for NetBSD to 
handle it ... or that the processor will call a second handler or so...

this switching is hugely expensive in the order or several thousants of 
clock cycles... this effectively limiting interrupt rates to say a 3000 or 
4000 on a 66 Mhz (well that were the figures he came with).

Bit offtopic but in contrast the ARM processor series only have an
interrupt latency of a 2 +branch for a normal IRQ or even 1 at most for a
special FIQ...


> > 	I guess the rate of lost characters on an unbuffered serial port might
> > give a clue...
> > 
> > Anyone run an 8250 at 38400 baud?

hmm.... running at 115200 here on my arm's (one 40 Mhz) and just have very 
sparse silo overflows ... say one a Mb...

> > 	If anyone is interested in playing with the hardware, I am willing
> > to donate motor controller cards (and ISA adapters if needed)

sorry... running out of time lately

Just my $0.02 ....
Cheers,
Reinoud