RFR: 8319900: Recursive lightweight locking: riscv64 implementation [v2]
Gui Cao
gcao at openjdk.org
Mon Feb 26 15:00:14 UTC 2024
> Implementation of recursive lightweight JDK-8319796 for linux-riscv64.
>
> ### Correctness testing:
>
> - [x] Run tier1-3, hotspot:tier4 tests with -XX:LockingMode=1 & -XX:LockingMode=2 on LicheePI 4A (release)
> - [x] Run tier1-3 tests with -XX:LockingMode=1 & -XX:LockingMode=2 on qemu 8.1.0 (fastdebug)
>
> ### JMH tested on LicheePI 4A:
>
>
> Before (LockingMode = 2):
>
> Benchmark (innerCount) Mode Cnt Score Error Units
> LockUnlock.testContendedLock 100 avgt 12 281.603 ± 2.626 ns/op
> LockUnlock.testRecursiveLockUnlock 100 avgt 12 196373.917 ± 4669.241 ns/op
> LockUnlock.testRecursiveSynchronization 100 avgt 12 274.492 ± 6.049 ns/op
> LockUnlock.testSerialLockUnlock 100 avgt 12 11516.092 ± 69.964 ns/op
> LockUnlock.testSimpleLockUnlock 100 avgt 12 11490.789 ± 58.833 ns/op
>
> After (LockingMode = 2):
>
> Benchmark (innerCount) Mode Cnt Score Error Units
> LockUnlock.testContendedLock 100 avgt 12 307.013 ± 3.259 ns/op
> LockUnlock.testRecursiveLockUnlock 100 avgt 12 59047.222 ± 94.748 ns/op
> LockUnlock.testRecursiveSynchronization 100 avgt 12 259.789 ± 1.698 ns/op
> LockUnlock.testSerialLockUnlock 100 avgt 12 6055.775 ± 13.518 ns/op
> LockUnlock.testSimpleLockUnlock 100 avgt 12 6090.986 ± 67.179 ns/op
>
>
>
> Before (LockingMode = 1):
>
> Benchmark (innerCount) Mode Cnt Score Error Units
> LockUnlock.testContendedLock 100 avgt 12 286.144 ± 2.490 ns/op
> LockUnlock.testRecursiveLockUnlock 100 avgt 12 68058.259 ± 286.262 ns/op
> LockUnlock.testRecursiveSynchronization 100 avgt 12 263.132 ± 4.075 ns/op
> LockUnlock.testSerialLockUnlock 100 avgt 12 7521.777 ± 35.193 ns/op
> LockUnlock.testSimpleLockUnlock 100 avgt 12 7522.480 ± 26.310 ns/op
>
> After (LockingMode = 1):
>
> Benchmark (innerCount) Mode Cnt Score Error Units
> LockUnlock.testContendedLock 100 avgt 12 289.034 ± 5.821 ns/op
> LockUnlock.testRecursiveLockUnlock 100 avgt 12 68474.370 ± 495.135 ns/op
> LockUnlock.testRecursiveSynchronization 100 avgt 12 261.052 ± 4.560 ns/op
> Loc...
Gui Cao has updated the pull request incrementally with one additional commit since the last revision:
fix comment typo
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17554/files
- new: https://git.openjdk.org/jdk/pull/17554/files/4bea5ddc..fc104a38
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17554&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17554&range=00-01
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/17554.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17554/head:pull/17554
PR: https://git.openjdk.org/jdk/pull/17554
More information about the hotspot-dev
mailing list