Messages in this thread | | | Date | Wed, 20 Jan 1999 17:07:49 GMT | From | "Stephen C. Tweedie" <> | Subject | Re: Scheduler problems |
| |
Hi,
On Tue, 19 Jan 1999 20:43:12 +0100 (CET), MOLNAR Ingo <mingo@chiara.csoma.elte.hu> said:
> On Tue, 19 Jan 1999, Stephen C. Tweedie wrote:
>> Ingo, any thoughts? Seems that if for any reason all wakeup interrupts >> arrive at the same CPU which is running the SCHED_FIFO task, then we >> will _never_ perform any successful wakeups without first exhausting the >> other CPU's current timeslice.
> yes i have a patch for this but it's not straightforward enough for 2.2. > (ie. a 50k patch) It has to do things like a full goodness() run for every > CPU in wakeup(), which is less than ideal.
Ingo, before I read this I was thinking about it a little and yes, this was one of the issues which worried me. However, is there any reason why we can't just use the last known goodness of the process currently running on each CPU, rather than recalculating the current goodness?
Goodness can only decrease over time as the quantum expires, so the only danger would be that we miss a reschedule event, not that we reschedule too often. That's certainly better than never getting a reschedule right at all. Given that the default scheduler keeps the goodness of interactive processes higher at all times than the goodness of any CPU-bound processes, this behaviour would probably work pretty well without requiring a per-CPU goodness recalculate for every wakeup.
--Stephen
- 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/
| |