RFR: 8319947: Recursive lightweight locking: s390x implementation

Amit Kumar amitkumar at openjdk.org
Wed May 15 09:18:10 UTC 2024


On Sun, 21 Apr 2024 16:30:43 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

> 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   ...

[JDK-8330849](https://bugs.openjdk.org/browse/JDK-8330849) adds `TestRecursiveMonitorChurn.java`. So rebasing the whole code to fetch that test.

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

PR Comment: https://git.openjdk.org/jdk/pull/18878#issuecomment-2081345733


More information about the hotspot-dev mailing list