RFR: 8319947: Recursive lightweight locking: s390x implementation
Amit Kumar
amitkumar at openjdk.org
Wed May 15 09:18:10 UTC 2024
s390x port for recursive locking.
testing:
- [x] build fastdebug-vm
- [x] build slowdebug-vm
- [x] build release-vm
- [x] build optimized-vm
- [x] ./test/jdk/java/util/concurrent (fastdebug-vm)
- [x] with C1
- [x] with C2
- [x] with interpreter
- [x] ./test/jdk/java/util/concurrent (release-vm)
- [x] with C1
- [x] with C2
- [x] with interpreter
- [x] ./test/jdk/java/util/concurrent (slowdebug-vm)
- [x] with C1
- [x] with C2
- [x] with interpreter
- [x] tier1 with fastdebug-vm
- [x] tier1 with slowdebug-vm
- [x] tier1 with release-vm
*BenchMarks*:
Without Patch:
make test TEST="micro:vm.lang.LockUnlock" MICRO="JAVA_OPTIONS=-XX:LockingMode=1"
Benchmark (innerCount) Mode Cnt Score Error Units
LockUnlock.testContendedLock 100 avgt 12 15.175 ± 2.071 ns/op
LockUnlock.testRecursiveLockUnlock 100 avgt 12 5412.677 ± 274.280 ns/op
LockUnlock.testRecursiveSynchronization 100 avgt 12 29.293 ± 2.802 ns/op
LockUnlock.testSerialLockUnlock 100 avgt 12 503.216 ± 8.764 ns/op
LockUnlock.testSimpleLockUnlock 100 avgt 12 508.809 ± 13.565 ns/op
Finished running test 'micro:vm.lang.LockUnlock'
With Patch:
Benchmark (innerCount) Mode Cnt Score Error Units
LockUnlock.testContendedLock 100 avgt 12 13.876 ± 1.561 ns/op
LockUnlock.testRecursiveLockUnlock 100 avgt 12 5323.962 ± 189.045 ns/op
LockUnlock.testRecursiveSynchronization 100 avgt 12 29.545 ± 2.313 ns/op
LockUnlock.testSerialLockUnlock 100 avgt 12 505.054 ± 5.920 ns/op
LockUnlock.testSimpleLockUnlock 100 avgt 12 502.929 ± 9.131 ns/op
Finished running test 'micro:vm.lang.LockUnlock'
Without Patch:
make test TEST="micro:vm.lang.LockUnlock" MICRO="JAVA_OPTIONS=-XX:LockingMode=2"
Benchmark (innerCount) Mode Cnt Score Error Units
LockUnlock.testContendedLock 100 avgt 12 14.961 ± 1.189 ns/op
LockUnlock.testRecursiveLockUnlock 100 avgt 12 16136.332 ± 1321.914 ns/op
LockUnlock.testRecursiveSynchronization 100 avgt 12 31.176 ± 1.357 ns/op
LockUnlock.testSerialLockUnlock 100 avgt 12 461.308 ± 23.610 ns/op
LockUnlock.testSimpleLockUnlock 100 avgt 12 479.421 ± 37.541 ns/op
Finished running test 'micro:vm.lang.LockUnlock'
With Patch:
Benchmark (innerCount) Mode Cnt Score Error Units
LockUnlock.testContendedLock 100 avgt 12 16.777 ± 1.543 ns/op
LockUnlock.testRecursiveLockUnlock 100 avgt 12 7060.493 ± 3095.793 ns/op
LockUnlock.testRecursiveSynchronization 100 avgt 12 28.437 ± 1.022 ns/op
LockUnlock.testSerialLockUnlock 100 avgt 12 439.701 ± 6.002 ns/op
LockUnlock.testSimpleLockUnlock 100 avgt 12 460.381 ± 23.340 ns/op
Finished running test 'micro:vm.lang.LockUnlock'
Another run with Patch:
Benchmark (innerCount) Mode Cnt Score Error Units
LockUnlock.testContendedLock 100 avgt 12 19.482 ± 3.550 ns/op
LockUnlock.testRecursiveLockUnlock 100 avgt 12 5135.956 ± 687.021 ns/op
LockUnlock.testRecursiveSynchronization 100 avgt 12 28.111 ± 1.083 ns/op
LockUnlock.testSerialLockUnlock 100 avgt 12 440.351 ± 31.667 ns/op
LockUnlock.testSimpleLockUnlock 100 avgt 12 436.257 ± 20.705 ns/op
Finished running test 'micro:vm.lang.LockUnlock'
PPC port for the same: https://github.com/openjdk/jdk/pull/16611
-------------
Commit messages:
- Merge branch 'master' into recursive_locking_v1
- s390x recursive locking port
Changes: https://git.openjdk.org/jdk/pull/18878/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18878&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8319947
Stats: 551 lines in 9 files changed: 427 ins; 56 del; 68 mod
Patch: https://git.openjdk.org/jdk/pull/18878.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18878/head:pull/18878
PR: https://git.openjdk.org/jdk/pull/18878
More information about the hotspot-dev
mailing list