I have started some benchmarking, testing kernel builds on tmpfs and
single-threaded sendfile performance. So far the results show no difference
or a small improvement on a 16-core Haswell system.
Drew has tested the patch on a couple of systems at Netflix. In their
workload, the vm page locks are the most highly contended locks in
the kernel; with this patch they effectively disappear from lockstat
profiles and we see a 1-2% CPU usage decrease.
Peter completed a stress2 run with the patch.
I added an mlock test to will-it-scale. It shows a marginal (~1-2%) improvement
in throughput in the single-threaded case on a Xeon E5-2630v3, and a much large
improvement with 32 copies of the test running in parallel. The test maps 64KB
of anonymous memory, and simply mlock()s and munlock()s the range in a loop.
```
With the patch, n=1:
min:200229 max:200229 total:200229
min:200152 max:200152 total:200152
min:200142 max:200142 total:200142
min:200169 max:200169 total:200169
min:200146 max:200146 total:200146
min:200180 max:200180 total:200180
min:200155 max:200155 total:200155
min:200159 max:200159 total:200159
min:200146 max:200146 total:200146
min:200177 max:200177 total:200177
Without the patch, n=1:
min:197246 max:197246 total:197246
min:197266 max:197266 total:197266
min:197253 max:197253 total:197253
min:197255 max:197255 total:197255
min:197260 max:197260 total:197260
min:197242 max:197242 total:197242
min:197255 max:197255 total:197255
min:197249 max:197249 total:197249
min:197269 max:197269 total:197269
min:197255 max:197255 total:197255
With the patch, n=32:
min:89635 max:105000 total:3215957
min:89420 max:104891 total:3211078
min:89574 max:105039 total:3215716
min:89722 max:105012 total:3215434
min:89747 max:105006 total:3215072
min:89758 max:104994 total:3215708
min:89718 max:104947 total:3212421
min:89702 max:104896 total:3211679
min:89613 max:104898 total:3213014
min:89634 max:104876 total:3212128
Without the patch, n=32:
min:48451 max:104544 total:2565376
min:48017 max:104470 total:2564240
min:47383 max:103517 total:2553197
min:47077 max:103944 total:2550691
min:47776 max:103415 total:2556992
min:47719 max:104336 total:2554948
min:47531 max:104168 total:2557383
min:48232 max:104220 total:2562169
min:47913 max:104223 total:2558416
min:48147 max:104188 total:2555988
```