Re: scheduling problem?

William Montgomery (william@opinicus.com)
Fri, 17 Dec 1999 09:36:20 -0500 (EST)


On Fri, 17 Dec 1999, Ingo Molnar wrote:
>
> cool! One of the last big scheduling mysteries fixed :-)
>
Ahh, not so fast :)

The patch supplied by Jamie Lokier appears to fix the scheduling
problem related to the idle task, however, there is a related
problem which can occur. It is possible for a SCHED_OTHER task
to be running in user mode when a rtc_interrupt occurs which
sends a SIGIO to a SCHED_FIFO task, the SCHED_FIFO task is put
on the run queue and the need_resched flag of the SCHED_OTHER task
is set but the ret_with_resched is not run and the SCHED_OTHER task
can continue for several milliseconds before schedule is run.

The above scenario can also occur when setitimer is used as a
timing source and a SIGALRM is sent. Maybe we should *always*
run ret_with_resched upon ret_from_intr and not only when in
supervisor mode? Any reasons this would cause problems?
Maybe also after running bottom halfs (in the case of setitimer)?

Wm

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