Why _ThreadProcessSignalsFromIrq() in new exception processing?
Valette Eric
eric.valette at free.fr
Mon Feb 10 22:16:12 UTC 2003
Joel Sherrill wrote:
> Many ports actually have a label "_ISR_Thread_Dispatch" which is
> the point to which _ISR_Handler returns when a onctext switch or signal
> evaluation is needed. The typical implementaiton of that pushes some
> registers, calls _Thread_Dispatch, pops them and returns. This way
> there is a simple, single patch out of the ISR for all cases requiring
> OS evaluation.
But, comming back to the push of a thread context and the performance I
think :
1) The path to switch should be as fast as possible and should not
require pushing any other registers than the C scratch registers (+ some
unavaoidable one). This path is critical for all wakeup from ISR
primitives (mtext/sem V, eventPost, ...,
2) The path for software exception is not critical from a performance
point of view and having a context realy helps in a lot of situation,
Therefore having two path is maybe more complex but may lead to more
efficient code...
--
__
/ ` Eric Valette
/-- __ o _. 6 rue Paul Le Flem
(___, / (_(_(__ 35740 Pace
Tel: +33 (0)2 99 85 26 76 Fax: +33 (0)2 99 85 26 76
E-mail: eric.valette at free.fr
More information about the users
mailing list