[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Light on PPC interrupt management requested



Hi Juan,
>    
>    The above is not a benefit for a real time OS: Real time computing is not
> fast computing but predictable computing (J. Stankovic Missconceptions
> about Real-Time computing).

I agree totally to the above...

> 
>    In order to avoid context switching overload that approach will overload
> the estimate computation time of the task which uses the FPU. I think that
> approach raises the indeterminist of the OS services.
> 
>    I think that the true feature of a RT OS is that the OS services have
> an upper bounded computation time. 
> 
>    So I think that the simple approach (to save FPU register in context
> switch for a FP task) will produce better RT behaviour.

Well I think there is one problem: If the context switch is modified 
depending on the flags of the related tasks, then any 
missconfiguration might lead to strange hidden errors. 

In another mail, Joel stated that printf will access floating point 
instructions, even if no float output is required. This means, if I 
look at a given task code, find out it is NOT using float, (but some 
printf's), and I start this task with task attribute "NOFLOAT", then 
the context switch might take a shortcut, not to switch FPU context. 
Although the FPU registers are touched in printf functions.

I think the "easy-to-calculate" deterministic way for PPC context 
switching would be to switch FPU context ALWAYS.

The other proper solution is the one Eric Valette asked for: Only 
switch FPU context, when neccesary. Even in that case, the "Worst 
case context switch time" will be deterministic, although it will not 
be used always....

Bye,
	Thomas.


> 
>    Just my 2 cents (of euro)
> 
>    Juan
> 


--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler           Herbststrasse 8
D-82178 Puchheim          Germany
email:    td at imd.m.isar.de