Messages in this thread | | | Date | Mon, 22 Jun 2015 20:11:14 +0200 | From | Daniel Wagner <> | Subject | Re: [RFC][PATCH 00/13] percpu rwsem -v2 |
| |
On 06/22/2015 02:16 PM, Peter Zijlstra wrote: > Also, since Linus thinks lglocks is a failed locking primitive (which I whole > heartedly agree with, its preempt-disable latencies are an abomination), it > also converts the global part of fs/locks's usage of lglock over to a > percpu-rwsem and uses a per-cpu spinlock for the local part. This both provides > another (4th) percpu-rwsem users and removes an lglock user.
I did a quick lockperf run with these patches on a 4 socket E5-4610 machine. These microbenches execercise the fs' locks a bit.
I suspect I got the wrong tree. The patches did not apply cleanly. The resulting kernel boots fine and doesn't explode... so far...
The results aren't looking too bad. Though building a kernel with 'make -j200' was extreme slow. I'll look into it tomorrow.
https://git.samba.org/jlayton/linux.git/?p=jlayton/lockperf.git;a=summary
flock01 mean variance sigma max min 4.1.0 11.7075 816.3341 28.5716 125.6552 0.0021 percpu-rwsem 11.4614 760.1345 27.5705 132.5030 0.0026
flock02 mean variance sigma max min 4.1.0 7.0197 1.1812 1.0868 10.6188 5.1706 percpu-rwsem 9.3194 1.3443 1.1594 11.5902 6.6138
lease01 mean variance sigma max min 4.1.0 41.8361 23.8462 4.8833 51.3493 28.5859 percpu-rwsem 40.2738 20.8323 4.5642 49.6037 28.0704
lease02 mean variance sigma max min 4.1.0 71.2159 12.7763 3.5744 77.8432 58.0390 percpu-rwsem 71.4312 14.7688 3.8430 76.5036 57.8615
posix01 mean variance sigma max min 4.1.0 121.9020 27882.5260 166.9806 603.5509 0.0063 percpu-rwsem 185.3981 38474.3836 196.1489 580.6532 0.0073
posix02 mean variance sigma max min 4.1.0 12.7461 3.1802 1.7833 15.5411 8.1018 percpu-rwsem 16.2341 4.3038 2.0746 19.3271 11.1751
posix03 mean variance sigma max min 4.1.0 0.9121 0.0000 0.0000 0.9121 0.9121 percpu-rwsem 0.9379 0.0000 0.0000 0.9379 0.9379
posix04 mean variance sigma max min 4.1.0 0.0703 0.0044 0.0664 0.6764 0.0437 percpu-rwsem 0.0675 0.0007 0.0267 0.3236 0.0491
cheers, daniel
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in Please read the FAQ at http://www.tux.org/lkml/
| |