This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: scheduling of DSRs
- From: Gary Thomas <gthomas at redhat dot com>
- To: CT Mar <gte670h at prism dot gatech dot edu>
- Cc: eCos Discussion <ecos-discuss at sources dot redhat dot com>
- Date: 15 Nov 2001 08:29:36 +0900
- Subject: Re: [ECOS] scheduling of DSRs
- References: <5.1.0.14.2.20011114150420.00a66598@pop.prism.gatech.edu>
On Thu, 2001-11-15 at 06:11, CT Mar wrote:
> Are the DSRs time-sliced? Looking at intr.cxx, if there are multiple DSRs
> to run, they are executed one after the other and can only be interrupted
> to run the ISR. So it would not be a good idea to have long a long DSR,
> since it would block the execution of other DSRs and threads, right?
>
Your observation is accurate - once DSRs start to run, they can only be
[temporarily] interrupted by ISR processing. Normal thread processing
will not resume until all pending DSRs have completed.
The model is that DSR processing is still interrupt processing, just
done when the kernel is in a state to handle further interrupts easily.
DSRs are not meant for any processing which takes a long time - that's
what threads (which _can_ be scheduled, prioritized, etc) are for.