From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Garnett To: ecos-discuss@sourceware.cygnus.com Subject: Re: [ECOS] nested interrupts Date: Thu, 18 Jan 2001 05:00:00 -0000 Message-id: References: <003b01c0811f$196395e0$6f2314ac@realtek.com.tw> <001e01c08147$c1e44e80$6f2314ac@realtek.com.tw> X-SW-Source: 2001-01/msg00308.html "Xavier Wang" 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