[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Poor condvar performance



Ingo Molnar wrote:
On Wed, 26 Nov 2003, Ingo Molnar wrote:

 > it turns out that the requeue implementation had to be turned off in the
 > CVS a few weeks ago - so the behavior you see is in fact expected (and
 > suboptimal, no doubt). I think Ulrich will be able to tell more how to
 > enable it again.

actually, it was only turned off for pthread_cond_signal(),
pthread_cond_broadcast() still uses it.

could you try the attached patch ontop of 2.6.0-test9 (test10/test11
should work too)? It in essence makes all threads have the same priority. If your problem is caused by contention between threads then this patch
will have a positive effect. Please give it a go.


Ingo


Ok here are a set of vmstat results for the following configurations:
- vanilla test10 on UP
- vanilla test10 on hyper threaded machine (CONFIG_SMP enabled)
- test9 with Ingo's patch applied
- test10 with the futex.c / sched.c hack mentioned at the beginning of this thread


Note for all except the first, the results are for multiple runs of my test as it is too quick over a single run.


test10 on UP
------------
r b swpd free buff cache si so bi bo in cs us sy wa id
2 0 0 9456 5040 245548 0 0 0 36 1097 336204 51 49 0 0
2 0 0 9328 5040 245676 0 0 0 0 1234 334617 51 49 0 0
1 0 0 9328 5048 245676 0 0 0 40 1095 336402 50 50 0 0
2 0 0 9328 5048 245676 0 0 0 0 1109 339121 53 47 0 0
1 0 0 9328 5048 245676 0 0 0 0 1093 335627 50 50 0 0
2 0 0 9328 5056 245676 0 0 0 16 1111 336075 52 48 0 0
2 0 0 9336 5056 245676 0 0 0 0 1094 339541 50 50 0 0
1 0 0 9336 5056 245676 0 0 0 0 1108 336206 51 49 0 0
2 0 0 9336 5064 245676 0 0 0 12 1093 339371 53 47 0 0
1 0 0 9208 5064 245804 0 0 0 0 1228 338669 51 49 0 0



test10 on HT
------------
r b swpd free buff cache si so bi bo in cs us sy wa id
2 0 0 45160 4328 209260 0 0 0 0 1114 2441 60 23 0 17
2 0 0 44984 4336 209388 0 0 0 12 1213 2975 73 26 0 0
0 0 0 44984 4336 209388 0 0 0 0 1110 1012 53 4 0 44
2 0 0 44984 4344 209380 0 0 0 16 1094 1336 25 9 0 65
2 0 0 44984 4344 209380 0 0 0 0 1111 2262 72 28 0 1
1 0 0 44992 4344 209380 0 0 0 0 1093 1682 68 16 0 16
3 0 0 44992 4352 209372 0 0 0 12 1115 740 35 5 0 60
2 0 0 44992 4352 209372 0 0 0 0 1109 2559 74 26 0 1
1 0 0 44928 4360 209364 0 0 0 84 1117 2117 71 20 0 10
0 0 0 44800 4360 209500 0 0 0 0 1225 656 30 1 0 69



test9 with patch
----------------
r b swpd free buff cache si so bi bo in cs us sy wa id
6 1 0 3492 7048 250784 0 0 760 44 1149 99 91 9 0 0
2 1 0 5684 6580 244588 0 0 4540 36 1302 289 69 7 23 0
1 0 0 8564 5996 246496 0 0 3204 0 1245 440 10 4 34 52
6 0 0 8564 5996 246528 0 0 32 0 1290 315 17 1 1 81
11 0 0 8580 6004 246528 0 0 0 36 1295 95 97 3 0 0
1 0 0 8580 6004 246528 0 0 0 0 1097 119 90 4 0 6
1 0 0 8452 6036 246672 0 0 0 192 1248 588 2 2 3 93
1 0 0 8452 6036 246672 0 0 0 0 1093 290 3 1 0 96
8 0 0 8452 6036 246672 0 0 0 0 1128 223 39 2 0 59
6 0 0 8452 6044 246672 0 0 0 12 1204 91 97 3 0 0



test10 with futex/sched hacks
-----------------------------
r b swpd free buff cache si so bi bo in cs us sy wa id
1 0 0 8880 5876 246240 0 0 0 12 1096 348 67 3 0 30
3 0 0 8888 5876 246240 0 0 0 0 1109 377 7 0 0 93
2 0 0 8888 5876 246240 0 0 0 0 1094 348 99 1 0 0
3 0 0 8888 5884 246240 0 0 0 16 1112 344 99 1 0 0
0 0 0 8888 5884 246240 0 0 0 0 1090 320 20 2 0 78
3 0 0 8888 5884 246240 0 0 0 0 1110 359 97 2 0 1
3 0 0 8760 5900 246312 0 0 8 12 1213 554 99 1 0 0
2 0 0 8760 5900 246312 0 0 0 0 1111 367 68 4 0 28
3 0 0 8760 5912 246312 0 0 0 152 1113 329 99 1 0 0
0 0 0 8760 5912 246312 0 0 0 0 1109 348 83 1 0 16



Apologies for the formatting...


Luke.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]