lkml.org 
[lkml]   [2003]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] self tuning scheduler 0.2
At 10:29 AM 3/12/2003 -0500, Jim Houston wrote:

>Hi Mike, Everyone,

Greetings,

>Mike, I have made a few adjustments which I hope will make you happy.
>I changed the time_slice code so it gives larger time slices to
>processes with less than average priorities. This makes my "make -j30"
>compile times match those of linux-2.5.64.

I only did one run, but yep, it's pretty close on my box too.

>I have some experimental code to address the irman issues. My first
>change was to adjust the run_avg value during a synchronous wakeup.
>The idea is to average the values so that related processes priorities
>will clump together. I also felt that the circle of processes passing
>a token are really a disguised compute bound process. To punish this
>behavoir, I add a small amount to the run_avg of the woken process.
>You can adjust the amount with /proc/sys/sched/pipe_circle_tax. I default
>this value to 5. This obviously also punishes the innocent. So the
>question is if the value is small enough can it fix the irman problem
>without breaking something else.

A value of 5 doesn't seem to be enough. I fixed irman's parse problem so
it can run the memory test properly and ran it with pipe_circle_tax set to
5, 25 and 50. The results are attached along with results from
2.5.64.virgin and 2.5.64.bk5 for comparison.

There isn't any detectable change wrt the window wiggle test... still
pretty choppy.

-Mike
pipe_circle_tax = 5
aborted after 20 minutes

pipe_circle_tax = 25
[mikeg]:> time ./irman
Response time measurements (milliseconds) for: 2.5.64bk5sts
Load Max Min Avg Std. Dev.
NULL 0.362 0.009 0.010 0.002
MEMORY 250.048 0.009 0.019 1.075
FILE_IO 749.965 0.010 0.027 2.199
PROCESS 824.305 0.010 0.080 2.821

real 3m20.733s
user 0m52.662s
sys 0m20.981s

pipe_circle_tax = 50
[mikeg]:> time ./irman
Response time measurements (milliseconds) for: 2.5.64bk5sts
Load Max Min Avg Std. Dev.
NULL 0.247 0.010 0.011 0.002
MEMORY 375.001 0.009 0.020 1.244
FILE_IO 499.987 0.009 0.032 2.483
PROCESS 525.932 0.010 0.051 2.306

real 3m5.857s
user 0m54.828s
sys 0m21.571s

[mikeg]:> time ./irman
Response time measurements (milliseconds) for: 2.5.64.virgin
Load Max Min Avg Std. Dev.
NULL 0.733 0.010 0.011 0.002
MEMORY 151.308 0.010 0.017 0.969
FILE_IO 454.016 0.010 0.027 2.718
PROCESS 1216.848 0.010 0.049 6.411

real 2m46.591s
user 0m20.270s
sys 0m21.622s

[mikeg]:> time ./irman
Response time measurements (milliseconds) for: 2.5.64bk5
Load Max Min Avg Std. Dev.
NULL 3.373 0.010 0.012 0.004
MEMORY 106.042 0.011 0.023 1.090
FILE_IO 312.046 0.011 0.047 3.297
PROCESS 223.482 0.010 0.037 0.488

real 2m51.265s
user 0m29.902s
sys 0m23.920s
\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.041 / U:1.576 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site