[ECOS] Multiple Inheritance used in eCos class Cyg_Thread

Fabian Scheler fabian.scheler@gmail.com
Fri Dec 15 07:36:00 GMT 2006


> DSRs are not preemptable, and currently all pending DSRs must run to
> completion before any thread gets to execute. So as far as worst case
> thread response time is concerned, prioritizing DSRs amongst
> themselves will have no effect. So the only alternative approach would
> be to prioritize DSRs in the same space as threads so that only DSRs
> of equal or higher priority than the current thread would be allowed
> to execute.
>
> However, this approach still doesn't allow DSRs to be preempted, and
> would introduce a whole range of other issues regarding priority
> inversion and DSR starvation. Threads are preemptable and
> prioritizable, and any code that needs those sorts of properties
> should go into threads. We should not try to add those properties to
> DSRs.

that's true, I have to admit I have been completely oblivious of this
point during my thoughts ...

> On a philosophical note, I am beginning to wonder whether it was a
> mistake to expose a functional interface to the DSR mechanism, since
> it tempts people to write code in them. In hindsight the interface
> should have been a simple signal a condition variable/semaphore
> operation. I think things would have been much simpler.

but I would not throw the DSR-Interface away, because there may be
some events that could be handled with just a few lines of code
executed in a dsr.

Ciao, Fabian

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list