[ECOS] eCos scheduler question

Nick Garnett nickg@calivar.demon.co.uk
Fri Jun 7 11:13:00 GMT 2002


"Daniel Lidsten" <Daniel.Lidsten@combitechsystems.com> writes:

> As far as I understand, a reschedule is done when one the following
> happens:
> * Each RTC tick (default 100/second)
> * When a message is posted, a semaphore is signalled etc.
> * When returning from an ISR (even if DSR is not used)
>

Note that the first case here is exactly the same as the
third. There's nothing special about RTC ticks in this regard.

> Anyone know if this is correct?
> 

It is correct. eCos has a scheduler lock which is used to protect the
scheduler's data structures. Whenever the lock is released, the kernel
looks to see if there are any better threads to run. There are
various optimizations in the unlock code to avoid doing a full
scheduling operation if it is not necessary.

-- 
Nick Garnett - eCos Kernel Architect


-- 
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