On 05/22/2013 10:55 PM, Mike Galbraith wrote:
> On Wed, 2013-05-22 at 17:25 +0800, Michael Wang wrote:
> 
>> I've not test the hackbench with wakeup-buddy before, will do it this
>> time, I suppose the 15% illegal income will suffered, anyway, it's
>> illegal :)
> 
> On a 4 socket 40 core (+SMT) box, hackbench wasn't too happy.

I've done more test and now I got the reason of regression...

The writer and reader in hackbench is N:N, prev writer will write all
the fd then switch to next writer and repeat the same work, so it's
impossible to setup the buddy relationship by just record the last one,
and we have to record all the waker/wakee in history, but that means
unacceptable memory overhead...

So this buddy idea seems to be bad...

I think a better way may should be allowing pull in most time, but
filter the very bad cases carefully.

For workload like pgbench, we actually just need to avoid pull if that
will damage the 'mother' thread, which is busy and be relied by many
'child'.

I will send out a new implementation, let's see whether it could solve
the problems ;-)

Regards,
Michael Wang

> 
> defaultx = wakeup buddy
> 
> tbench 30 localhost
>                          1       5       10       20       40       80      
> 160      320
> 3.10.0-default      188.13  953.03  1860.03  3180.93  5378.34 10826.06 
> 11342.90 11651.30
> 3.10.0-defaultx     187.26  934.55  1859.30  3160.29  5016.35 12477.15 
> 12567.05 12068.47
> 
> hackbench -l 400 -g 400
> 3.10.0-default     Time: 3.919    4.250     4.116
> 3.10.0-defaultx    Time: 9.074   10.985     9.849
> 
> aim7 compute
> AIM Multiuser Benchmark - Suite VII     "1.1"   3.10.0-default     AIM 
> Multiuser Benchmark - Suite VII     "1.1"   3.10.0-defaultx
> 
> Tasks   Jobs/Min        JTI     Real    CPU     Jobs/sec/task      Tasks   
> Jobs/Min        JTI     Real    CPU     Jobs/sec/task
> 1       428.0           100     14.2    4.1     7.1328             1       
> 428.9           100     14.1    4.1     7.1479
> 1       417.9           100     14.5    4.1     6.9655             1       
> 430.4           100     14.1    4.0     7.1733
> 1       427.7           100     14.2    4.2     7.1277             1       
> 424.7           100     14.3    4.2     7.0778
> 5       2350.7          99      12.9    13.8    7.8355             5       
> 2156.6          99      14.1    19.8    7.1886
> 5       2422.1          99      12.5    12.1    8.0735             5       
> 2155.0          99      14.1    19.7    7.1835
> 5       2189.3          98      13.8    18.3    7.2977             5       
> 2108.6          99      14.4    21.4    7.0285
> 10      4515.6          93      13.4    27.6    7.5261             10      
> 4529.1          96      13.4    29.5    7.5486
> 10      4708.6          96      12.9    24.3    7.8477             10      
> 4597.9          96      13.2    26.9    7.6631
> 10      4636.6          96      13.1    25.7    7.7276             10      
> 5197.3          98      11.7    14.8    8.6621
> 20      8053.2          95      15.1    78.1    6.7110             20      
> 9431.9          98      12.8    49.1    7.8599
> 20      8250.5          92      14.7    67.5    6.8754             20      
> 7973.7          97      15.2    93.4    6.6447
> 20      8178.1          97      14.8    78.5    6.8151             20      
> 8145.2          95      14.9    78.4    6.7876
> 40      17413.8         94      13.9    88.6    7.2557             40      
> 16312.2         92      14.9    115.6   6.7968
> 40      16775.1         93      14.5    111.6   6.9896             40      
> 17070.4         94      14.2    110.6   7.1127
> 40      16031.7         93      15.1    147.1   6.6799             40      
> 17578.0         94      13.8    96.9    7.3241
> 80      33666.7         95      14.4    138.4   7.0139             80      
> 33854.7         96      14.3    177.9   7.0531
> 80      33949.6         97      14.3    128.0   7.0728             80      
> 34164.9         96      14.2    146.4   7.1177
> 80      35752.2         96      13.6    159.1   7.4484             80      
> 33807.5         96      14.3    127.6   7.0432
> 160     74814.8         98      13.0    149.8   7.7932             160     
> 75162.8         98      12.9    148.6   7.8295
> 160     74015.3         97      13.1    149.5   7.7099             160     
> 74642.0         98      13.0    168.2   7.7752
> 160     73621.9         98      13.2    146.3   7.6689             160     
> 75572.9         98      12.8    163.6   7.8722
> 320     139210.3        96      13.9    280.1   7.2505             320     
> 139010.8        97      14.0    282.4   7.2401
> 320     135135.9        96      14.3    277.8   7.0383             320     
> 139611.2        96      13.9    282.2   7.2714
> 320     139110.5        96      13.9    280.4   7.2453             320     
> 138514.3        97      14.0    281.0   7.2143
> 640     223538.9        98      17.4    577.2   5.8213             640     
> 224704.5        95      17.3    567.3   5.8517
> 640     224055.5        97      17.3    575.7   5.8348             640     
> 222385.3        95      17.4    580.1   5.7913
> 640     225488.4        96      17.2    566.3   5.8721             640     
> 225882.4        93      17.2    563.0   5.8824
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 

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

Reply via email to