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

From: Yi Sun
Date: Mon Sep 17 2018 - 10:42:29 EST


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.05 1.08 5224.14 5224.14 0.00 0.00 100
17 1.40 0.75 19.22 73585.71 4328.57 0.05 4.03 95
33 2.17 1.29 36.71 92156.68 2792.63 0.12 6.13 93
49 2.84 1.59 50.50 104556.34 2133.80 0.17 6.68 93
65 3.71 2.17 68.11 106172.51 1633.42 0.24 7.14 92
81 4.63 2.87 84.00 106017.28 1308.86 0.35 8.31 91
97 5.55 3.40 101.11 105913.51 1091.89 0.32 6.27 93
113 6.28 3.90 117.70 109041.40 964.97 0.38 6.51 93
129 7.20 4.44 134.00 108575.00 841.67 0.62 9.31 90
145 8.02 4.98 150.90 109563.59 755.61 0.61 8.18 91
178 9.75 6.46 184.96 110633.85 621.54 0.62 6.78 93
211 11.91 7.65 226.10 107360.20 508.82 0.88 7.96 92
244 13.30 8.28 253.82 111175.94 455.64 0.80 6.44 93
Max Jobs per Minute 111175.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.04 1.00 5663.55 5663.55 0.00 0.00 100
17 1.21 0.58 17.63 85140.50 5008.26 0.03 3.05 96
33 1.88 1.18 34.22 106372.34 3223.40 0.09 5.27 94
49 3.04 1.83 56.27 97677.63 1993.42 0.20 7.35 92
65 3.66 2.26 68.64 107622.95 1655.74 0.26 7.86 92
81 4.50 2.85 84.45 109080.00 1346.67 0.25 6.03 93
97 5.33 3.29 100.55 110285.18 1136.96 0.36 7.43 92
113 6.20 3.87 117.76 110448.39 977.42 0.39 6.87 93
129 6.96 4.42 132.93 112318.97 870.69 0.45 6.92 93
145 7.86 5.01 151.02 111793.89 770.99 0.50 6.76 93
179 9.71 6.16 185.62 111713.70 624.10 0.72 7.92 92
213 11.70 7.43 224.77 110323.08 517.95 0.73 6.69 93
247 13.45 8.48 259.19 111287.73 450.56 0.73 5.78 94
Max Jobs per Minute 112318.97