Skip to contentSkip to conversation

2.5.47 scheduler problems?

DISCUSSION Jim Houston 2 participants 4 messages Nov 22, 2002

lore
Share & tools
lore
#0 lore raw

Hi Mike, Rik, Everyone,

The O(1) schedule just isn't fair. It will run a subset of the runable processes excluding the rest. See my earlier emails for the details.

I had been working on a fix for this but got distracted by Posix timers. I still hope to get back to it.

My patch is here:
http://marc.theaimsgroup.com/?l=linux-kernel&m=103508412423719&w=2

It fixes fairness but breaks nice(2). Rik van Riel has a patch here which builds on my patch which fixes this:
http://marc.theaimsgroup.com/?l=linux-kernel&m=103651801424031&w=2

I just gave this a spin with. The patches still apply cleanly to linux-2.5.48 and it seems well behaved:-)

I found this problem with the LTP waitpid06 test. It actually produced a live-lock. See this mail:
http://marc.theaimsgroup.com/?l=linux-kernel&m=103133744217082&w=2

Jim Houston - Concurrent Computer Corp.

#1 lore raw
Quoted 11 lines · Jim Houston

Hi Mike, Rik, Everyone,

The O(1) schedule just isn't fair. It will run a subset of the runable processes excluding the rest. See my earlier emails for the details.

I had been working on a fix for this but got distracted by Posix timers. I still hope to get back to it.

My patch is here:
http://marc.theaimsgroup.com/?l=linux-kernel&m=103508412423719&w=2

In a brief test, this seems to cure my problem.

Quoted 3 lines

It fixes fairness but breaks nice(2). Rik van Riel has a patch here which builds on my patch which fixes this:
http://marc.theaimsgroup.com/?l=linux-kernel&m=103651801424031&w=2

(I haven't test this one yet)

Quoted 2 lines

I just gave this a spin with. The patches still apply cleanly to linux-2.5.48 and it seems well behaved:-)

It seems a little choppy still for a not swapping load, but greatly improved.

Thanks!

-Mike

#2 lore raw
Quoted 8 lines · Mike Galbraith
Quoted 2 lines · Jim Houston

I just gave this a spin with. The patches still apply cleanly to linux-2.5.48 and it seems well behaved:-)

It seems a little choppy still for a not swapping load, but greatly improved.

Thanks!

(I put it into virgin 2.5.47 fwiw) I have some very odd behavior. I wanted to see how the kernel did at make -j30 bzImage on my test box to see what effect it has on throughput (box is 500 Mhz PIII + 128Mb ram), and get vmstat output like the attached. I should be roughly 30Mb into swap and paging heftily at this point.

-Mike

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

 b  w   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
41  8    764  59940   1596  18484    0    0     4    27 1027   129 90 10  0  0
35 10    764  58932   1604  18616    0    0   120     0 1026   134 92  8  0  0
34  8    764  53540   1608  18804    0    0    29     0 1023   141 87 13  0  0
38  7    764  47780   1616  19300    0    0    10     0 1075   168 92  8  0  0
38 11    764  54476   1616  19684    0    0     8     0 1018   130 90 10  0  0
33 12    764  47596   1632  20048    0    0    14   474 1062   143 89 11  0  0
33  6    764  41564   1636  19412    0    0    88     0 1104   158 90 10  0  0
32  4    764  34940   1640  19728    0    0    93     0 1024   157 91  9  0  0
37  6    764  34652   1640  20012    0    0    38     0 1022   143 93  7  0  0
36  8    764  33196   1648  20108    0    0    18     0 1023   168 89 11  0  0
35  8    764  32668   1652  20528    0    0     8   110 1029   159 91  9  0  0
34  6    764  28364   1664  20852    0    0    84     1 1023   167 92  8  0  0
32  6    764  23140   1664  20608    0    0     4     0 1020   165 93  7  0  0
34  7    764  28372   1664  20424    0    0    12     0 1020   147 93  7  0  0
38  7    764  23476   1668  20480    0    0    45     0 1123   194 93  7  0  0
32  8    764  32988   1668  20952    0    0     4   132 1027   151 94  6  0  0
35  9    764  29260   1672  20332    0    0     4     1 1020   152 89 11  0  0
32  6    764  31100   1672  20688    0    0     0     0 1106   156 92  8  0  0
31  8    764  32076   1680  20264    0    0   108     0 1023   161 91  9  0  0
35  8    764  42332   1684  20836    0    0    17     0 1023   157 86 14  0  0
34 11    764  48916   1688  20752    0    0    52   234 1033   151 88 12  0  0
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 b  w   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
37  5    764  45796   1692  20956    0    0    12     1 1020   136 89 11  0  0
32  6    764  46820   1692  20616    0    0     0     0 1017   149 89 11  0  0
34  8    764  46820   1692  20652    0    0     0     0 1017   130 91  9  0  0
31  8    764  41316   1692  20496    0    0     8     0 1083   153 92  8  0  0
#3 lore raw
Quoted 11 lines · Mike Galbraith
Quoted 8 lines · Mike Galbraith
Quoted 2 lines · Jim Houston

I just gave this a spin with. The patches still apply cleanly to linux-2.5.48 and it seems well behaved:-)

It seems a little choppy still for a not swapping load, but greatly improved.

Thanks!

(I put it into virgin 2.5.47 fwiw) I have some very odd behavior. I wanted to see how the kernel did at make -j30 bzImage on my test box to see what effect it has on throughput (box is 500 Mhz PIII + 128Mb ram), and get vmstat output like the attached. I should be roughly 30Mb into swap and paging heftily at this point.

Never mind the vmstat output.. it seems you need both patches. With both in 2.5.48, the build progressed in a much more normal looking fashion. I'm not losing control of my box any more under load.

-Mike