This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: nested interrupts


"Xavier Wang" <xavierwang@ms19.url.com.tw> writes:

> If there are some pending DSRs, it seems that these DSRs are executed 
> in reverse order of interrupts/ISRs rather than in priority order. Does it
> cause more unpredictability for a real-time system? Can DSRs be
> prioritized? Is there a way to work around this?
> 

DSRs are unprioritized. The priority supplied when creating an
interruopt is intended to prioritize the ISR in the hardware if that
is possible, or select its place in the chain when chained interrupts
are enabled.

There would be no advantage in prioritizing DSRs. All pending DSRs are
always run whenever any DSR can be run, and all DSRs are higher
priority than any threads and lower priority than any interrupts. The
order they get run in at this point is irrelevant, since the system
will not proceed until all of them have finished. Prioritized
execution should happen in threads, that's what they are there for.

-- 
Nick Garnett, eCos Kernel Architect
Red Hat, Cambridge, UK

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]