RFR: 8319947: Recursive lightweight locking: s390x implementation [v4]

Amit Kumar amitkumar at openjdk.org
Thu May 23 12:49:16 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 incrementally with one additional commit since the last revision:

  minor code formatting & variable renamings

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/18878/files
  - new: https://git.openjdk.org/jdk/pull/18878/files/d91259bb..2584484d

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18878&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18878&range=02-03

  Stats: 52 lines in 1 file changed: 9 ins; 0 del; 43 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