[ECOS] Multiple runnable DSR's
Jonathan Larmour
jifl@eCosCentric.com
Sun Jan 26 22:24:00 GMT 2003
Nick Garnett wrote:
>
> To expand on this a little. My original intention for DSRs was that
> they should contains relatively small amounts of code: just signal a
> condition variable, post to a semaphore, send a message. They are all
> mostly still like this. The only DSR that does anything more
> substantial is that for the timer, running alarm functions, and then
> those should also conform to the DSR model and be minimal.
>
> The pupose of a DSR is to act as an intermediary between the ISR world
> and the thread world. The real effect of running a DSR is to cause a
> thread to be scheduled. Since all DSRs will be run before any thread
> gets to start, it really does not matter what order they run in.
Of course we have already written distinctly non-trivial DSRs ourselves,
so we can hardly be said to be practising what we're preaching :-).
Perhaps it may not be unreasonable to have a default disabled
configuration option which sorts DSRs according to the priority used on
interrupt creation as they are inserted (for
CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST only). It would be pretty simple, and
would silence those who think it does matter what order they run in :-).[1]
Jifl
[1] Actually you can see their point in the existing system where DSRs do
do real work, like the serial or net drivers. That we don't do that quite
right of course is why the high-minded principles fall down.
--
eCosCentric http://www.eCosCentric.com/ <info@eCosCentric.com>
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss
mailing list