Re: realtime scheduling problems with 2.4 linux kernel >= 2.4.10

Andi Kleen (ak@muc.de)
01 Jun 2002 19:05:47 +0200


Mike Kravetz <kravetz@us.ibm.com> writes:

> This works fine for me on 2.4.17 with a SERIAL console. Could this
> be related to some differences (new features) in the VGA console?
> I am totally ignorant of how the consoles work.

One possibility is that something relies on schedule_task() - keventd
doesn't run with realtime priority and can be starved.

Seems to be the case indeed:

/usr/src/linux/drivers/char% grep schedule_task *.c
console.c: schedule_task(&console_callback_tq);
...

the console switch does.

Fixing it would require boosting keventd's priority either globally
or temporarily. E.g. if the original reporter could put this
(untested/uncompiled) at the beginning of kernel/context.c:context_thread():

current->policy = SCHED_RR;
current->rt_priority = 99;

it could fix his problem.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/