Re: [PATCH v1 0/3] Enable PV qspinlock for Hyper-V

2018-09-17 Thread Yi Sun
On 18-09-15 23:43:12, Michael Kelley (EOSG) wrote:
> >From Yi Sun   Sent: Thursday, September 13, 2018 2:13 AM
> 
> > This patch adds the necessary Hyper-V specific code to allow
> > PV qspinlock work on Hyper-V.
> > 
> 
> Have you done any performance measurements with this
> new code, so that we know whether there is any improvement,
> or even potentially any degradation in some circumstances?
> 
> Michael
>  
I executed reaim in Guest (20 vcpus, 30G memory). Reaim is one of
the performance test methods used by qspinlock patch set. Results
are below. With hv_spinlock enabled, performance is better.

hv_spinlock disabled:
$ src/reaim -c data/reaim.config -f data/workfile.compute -i 16 -e 256
Num Parent   Child   Child  Jobs per   Jobs/min/  Std_dev  Std_dev   JTI
Forked  Time SysTime UTime   Minute Child  Time Percent
1   1.16 0.051.085224.145224.140.00 0.00 100
17  1.40 0.7519.22   73585.71   4328.570.05 4.03 95
33  2.17 1.2936.71   92156.68   2792.630.12 6.13 93
49  2.84 1.5950.50   104556.34  2133.800.17 6.68 93
65  3.71 2.1768.11   106172.51  1633.420.24 7.14 92
81  4.63 2.8784.00   106017.28  1308.860.35 8.31 91
97  5.55 3.40101.11  105913.51  1091.890.32 6.27 93
113 6.28 3.90117.70  109041.40  964.97 0.38 6.51 93
129 7.20 4.44134.00  108575.00  841.67 0.62 9.31 90
145 8.02 4.98150.90  109563.59  755.61 0.61 8.18 91
178 9.75 6.46184.96  110633.85  621.54 0.62 6.78 93
211 11.917.65226.10  107360.20  508.82 0.88 7.96 92
244 13.308.28253.82  75.94  455.64 0.80 6.44 93
Max Jobs per Minute 75.94

hv_spinlock enabled:
Num Parent   Child   Child  Jobs per   Jobs/min/  Std_dev  Std_dev   JTI
Forked  Time SysTime UTime   Minute Child  Time Percent
1   1.07 0.041.005663.555663.550.00 0.00 100
17  1.21 0.5817.63   85140.50   5008.260.03 3.05 96
33  1.88 1.1834.22   106372.34  3223.400.09 5.27 94
49  3.04 1.8356.27   97677.63   1993.420.20 7.35 92
65  3.66 2.2668.64   107622.95  1655.740.26 7.86 92
81  4.50 2.8584.45   109080.00  1346.670.25 6.03 93
97  5.33 3.29100.55  110285.18  1136.960.36 7.43 92
113 6.20 3.87117.76  110448.39  977.42 0.39 6.87 93
129 6.96 4.42132.93  112318.97  870.69 0.45 6.92 93
145 7.86 5.01151.02  111793.89  770.99 0.50 6.76 93
179 9.71 6.16185.62  111713.70  624.10 0.72 7.92 92
213 11.707.43224.77  110323.08  517.95 0.73 6.69 93
247 13.458.48259.19  111287.73  450.56 0.73 5.78 94
Max Jobs per Minute 112318.97


Re: [PATCH v1 0/3] Enable PV qspinlock for Hyper-V

2018-09-17 Thread Yi Sun
On 18-09-15 23:43:12, Michael Kelley (EOSG) wrote:
> >From Yi Sun   Sent: Thursday, September 13, 2018 2:13 AM
> 
> > This patch adds the necessary Hyper-V specific code to allow
> > PV qspinlock work on Hyper-V.
> > 
> 
> Have you done any performance measurements with this
> new code, so that we know whether there is any improvement,
> or even potentially any degradation in some circumstances?
> 
> Michael
>  
I executed reaim in Guest (20 vcpus, 30G memory). Reaim is one of
the performance test methods used by qspinlock patch set. Results
are below. With hv_spinlock enabled, performance is better.

hv_spinlock disabled:
$ src/reaim -c data/reaim.config -f data/workfile.compute -i 16 -e 256
Num Parent   Child   Child  Jobs per   Jobs/min/  Std_dev  Std_dev   JTI
Forked  Time SysTime UTime   Minute Child  Time Percent
1   1.16 0.051.085224.145224.140.00 0.00 100
17  1.40 0.7519.22   73585.71   4328.570.05 4.03 95
33  2.17 1.2936.71   92156.68   2792.630.12 6.13 93
49  2.84 1.5950.50   104556.34  2133.800.17 6.68 93
65  3.71 2.1768.11   106172.51  1633.420.24 7.14 92
81  4.63 2.8784.00   106017.28  1308.860.35 8.31 91
97  5.55 3.40101.11  105913.51  1091.890.32 6.27 93
113 6.28 3.90117.70  109041.40  964.97 0.38 6.51 93
129 7.20 4.44134.00  108575.00  841.67 0.62 9.31 90
145 8.02 4.98150.90  109563.59  755.61 0.61 8.18 91
178 9.75 6.46184.96  110633.85  621.54 0.62 6.78 93
211 11.917.65226.10  107360.20  508.82 0.88 7.96 92
244 13.308.28253.82  75.94  455.64 0.80 6.44 93
Max Jobs per Minute 75.94

hv_spinlock enabled:
Num Parent   Child   Child  Jobs per   Jobs/min/  Std_dev  Std_dev   JTI
Forked  Time SysTime UTime   Minute Child  Time Percent
1   1.07 0.041.005663.555663.550.00 0.00 100
17  1.21 0.5817.63   85140.50   5008.260.03 3.05 96
33  1.88 1.1834.22   106372.34  3223.400.09 5.27 94
49  3.04 1.8356.27   97677.63   1993.420.20 7.35 92
65  3.66 2.2668.64   107622.95  1655.740.26 7.86 92
81  4.50 2.8584.45   109080.00  1346.670.25 6.03 93
97  5.33 3.29100.55  110285.18  1136.960.36 7.43 92
113 6.20 3.87117.76  110448.39  977.42 0.39 6.87 93
129 6.96 4.42132.93  112318.97  870.69 0.45 6.92 93
145 7.86 5.01151.02  111793.89  770.99 0.50 6.76 93
179 9.71 6.16185.62  111713.70  624.10 0.72 7.92 92
213 11.707.43224.77  110323.08  517.95 0.73 6.69 93
247 13.458.48259.19  111287.73  450.56 0.73 5.78 94
Max Jobs per Minute 112318.97


RE: [PATCH v1 0/3] Enable PV qspinlock for Hyper-V

2018-09-15 Thread Michael Kelley (EOSG)
>From Yi Sun   Sent: Thursday, September 13, 2018 2:13 AM

> This patch adds the necessary Hyper-V specific code to allow
> PV qspinlock work on Hyper-V.
> 

Have you done any performance measurements with this
new code, so that we know whether there is any improvement,
or even potentially any degradation in some circumstances?

Michael
 



RE: [PATCH v1 0/3] Enable PV qspinlock for Hyper-V

2018-09-15 Thread Michael Kelley (EOSG)
>From Yi Sun   Sent: Thursday, September 13, 2018 2:13 AM

> This patch adds the necessary Hyper-V specific code to allow
> PV qspinlock work on Hyper-V.
> 

Have you done any performance measurements with this
new code, so that we know whether there is any improvement,
or even potentially any degradation in some circumstances?

Michael