[uClinux-dev] realtime scheduling...

John Williams jwilliams at itee.uq.edu.au
Thu Mar 13 16:51:20 EST 2003


Hi Lars,

Lars Segerlund wrote:

>  Basicly it runs some stuff on the NMI and the 'heavy' tasks on linux 
> regular interrupts, it can hit a 15 ns window for the code to be run ( 
> first instruction ) on the MC5246C3 developement board, and most of it 
> should be easily portable to other architectures and constraints, ( 
> single timer, multiple timers ). ( also I have some work left on 
> verifying the behaviour of sti cli in the drivers and kernel, ie. 
> estimating worst case for the linux interrupt parts ).

That's an interesting idea... Could it handle, say, interrupts from 
realtime hardware other than the clock?  What I'm thinking is a DSP type 
system, where you have an ADC needing real-time servicing.  If you could 
attach it to the NMI (as well as the NMI clock), the handler reads the 
data off the device, puts it in a shared memory FIFO, to be processed by 
a regular uclinux process when next convenient.

Thinking about doing this on microblaze, which is a softcore (ah, 
infinitely flexible hardware! :) - two separate interrupt controllers on 
the INT and NMI ports of the microprocessor, and two timers.  one timer 
drives the NMI (real time) scheduler, the other drives the uclinux 
scheduler.

Hardware that needs real time servicing hangs off the NMI int 
controller, everything else (network controllers, UARTs etc) uses the 
regular intc.  Could be very interesting.

Cheers,

John





More information about the uClinux-dev mailing list