diff options
author | Mike Galbraith <efault@gmx.de> | 2006-04-11 01:52:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-11 09:18:30 -0400 |
commit | 5ce74abe788a26698876e66b9c9ce7e7acc25413 (patch) | |
tree | 2e0c2cfc1aad32a9e2903f5e01256f1ed43982e4 /kernel/sys.c | |
parent | 019ff2d57b0bbe77d1eca19f5b634e5e7ff2a0b8 (diff) |
[PATCH] sched: fix interactive task starvation
Fix a starvation problem that occurs when a stream of highly interactive tasks
delay an array switch for extended periods despite EXPIRED_STARVING(rq) being
true. AFAIKT, the only choice is to enqueue awakening tasks on the expired
array in this case.
Without this patch, it can be nearly impossible to remotely login to a busy
server, and interactive shell commands can starve for minutes.
Also, convert the EXPIRED_STARVING macro into an inline function which humans
can understand.
Signed-off-by: Mike Galbraith <efault@gmx.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Acked-by: Con Kolivas <kernel@kolivas.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/sys.c')
0 files changed, 0 insertions, 0 deletions