RFR: 8319947: Recursive lightweight locking: s390x implementation [v6]
Amit Kumar
amitkumar at openjdk.org
Sun Jun 16 09:49:42 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*:
>
> Results from Performance LPARs :
>
>
> Locking Mode = 1 (without Patch)
>
> Benchmark (innerCount) Mode Cnt Score Error Units
> LockUnlock.testContendedLock 100 avgt 12 5.144 ± 0.035 ns/op
> LockUnlock.testRecursiveLockUnlock 100 avgt 12 3824.742 ± 89.475 ns/op
> LockUnlock.testRecursiveSynchronization 100 avgt 12 25.348 ± 0.559 ns/op
> LockUnlock.testSerialLockUnlock 100 avgt 12 466.629 ± 3.036 ns/op
> LockUnlock.testSimpleLockUnlock 100 avgt 12 468.532 ± 1.793 ns/op
> Finished running test 'micro:vm.lang.LockUnlock'
>
> Locking Mode = 1 (with patch)
>
> Benchmark (innerCount) Mode Cnt Score Error Units
> LockUnlock.testContendedLock 100 avgt 12 5.146 ± 0.027 ns/op
> LockUnlock.testRecursiveLockUnlock 100 avgt 12 3833.175 ± 75.863 ns/op
> LockUnlock.testRecursiveSynchronization 100 avgt 12 25.206 ± 0.519 ns/op
> LockUnlock.testSerialLockUnlock 100 avgt 12 473.973 ± 2.103 ns/op
> LockUnlock.testSimpleLockUnlock 100 avgt 12 470.749 ± 2.229 ns/op
> Finished running test 'micro:vm.lang.LockUnlock'
>
>
>
>
> Locking Mode = 2 (without Patch)
>
> Benchmark (innerCount) Mode Cnt Score Error Units
> LockUnlock.testContendedLock 100 avgt 12 4.688 ± 0.051 ns/op
> LockUnlock.testRecursiveLockUnlock 100 avgt 12 12800.544 ± 92.265 ns/op
> LockUnlock.testRecursiveSynchronization 100 avgt 12 26.486 ± 2.229 ns/op
> LockUnlock.testSerialLockUnlock 100 avgt 12 424.499 ± 0.416 ns/op
> LockUnlock.testSimpleLockUnlock 100 avgt 12 424.241 ± 0.840 ns/op
> Finished running test 'micro:vm.lang.Lo...
Amit Kumar has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits:
- Merge branch 'master' into recursive_locking_v1
- not using load_const_optimized in compiler_fast_lock_lightweight_object
- minor code formatting & variable renamings
- revert DiagnoseSyncOnValueBasedClasses changes from c1
- suggestions from Axel
- 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=05
Stats: 553 lines in 9 files changed: 426 ins; 64 del; 63 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