Messages in this thread | | | Subject | Re: SCHE_RR/FIFO | From | Andi Kleen <> | Date | 15 Jul 1999 16:14:18 +0200 |
| |
Sven.Heursch@unibw-muenchen.de (Sven Heursch) writes:
> "Stephen C. Tweedie" wrote: > > > Hi, > > > > On Wed, 14 Jul 1999 14:28:14 +0200, Sven Heursch > > <Sven.Heursch@unibw-muenchen.de> said: > > > > > Could it be that the scheduler in the kernel 2.2 has problems with the > > > priority based scheduling algorithm SCHED_FIFO and SCHED_RR. The > > > verification was made with two concurrent running processes with the > > > real time priorities 30 and 99. Normaly the higher one should be > > > scheduled first. But in Linux 2.2 that do not happend evereytime. > > > > What test case breaks the rule for you? The scheduler's goodness > > function should still absolutely prefer non-SCHED_OTHER processes. > > Yes, indeed, the kernel source code says so! But the reality is different. > For example: > We have two processes, A & B. A has the priority 99, B the priority 30. Both > are the only processes which are scheduled with SCHED_FIFO in the system. > Process A starts and goes in nanosleep(). Now B got the CPU and does for > example the access() system call. After a few micorseconds, an interrupt is > generated and interrupts the process B. Process A has installed an > interrupthandler for that interrupt before and is beeing signaled by the > ISR.
You mean it called a kernel function to install an interrupt handler, and the handler does a send_sig() ?
> Now the crazy thing: Wheather A has the highest priority in the system and > is now runnable, process B is being scheduled after the ISR in Kernel 2.2. > Process A is sleeping on.
So it is never waken up, or just too late?
-Andi -- This is like TV. I don't like TV.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |