lkml.org 
[lkml]   [2002]   [Oct]   [3]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateThu, 03 Oct 2002 01:50:34 -0400
FromJim Houston <>
SubjectRe: O(1) Scheduler (tuning problem/live-lock)
Hi Andrea, Ingo,

Andrea, I tried your second patch.  Again, it keeps on running even with
"waitpid06 -c 16 -i 10000".  This is good.  It still has some jerky
mouse behavior (under this load).  This is on an old slow Pentium Pro
dual processor.  If I grab a window and move it around for several
seconds, the screen will freeze for a couple seconds.  I suspect that
my X server fails the TASK_INTERACTIVE test.
I have been hacking at sched.c myself trying to avoid the array switch
entirely.  I'm trying to set up a self-tuning feedback mechanism to
adjust priorities so everything gets some cpu time without 
having to do the array switch.  I'm juggling these ideas:

	1. Gradually raise the priority of all the processes in
	   the run queue.  Do this without having to visit all
	   of the processes.

	2. When a process uses up its time slice, move it to a 
	   less favorable priority.

	3. Tune the sleep_avg.  I like the old decaying average
	   approach of old unix systems.  The current sleep_avg
	   goes to saturation too often.  I would like to
	   be able to tell if a process has been using more than
	   its share of the cpu time.

	4. Make the maximum time slice decrease with more favorable
	   priorities.  The time slice would depend on the dynamic
	   priority.

I have code hacked together for first idea but its not useful without
the rest.

Jim Houston - Concurrent Computer Corp.
-
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/

\
 
 \ /
  Last update: 2005-03-22 12:29    [from the cache]
©2003-2008