Integrated: 8345322: RISC-V: Add concurrent gtests for cmpxchg variants

Robbin Ehn rehn at openjdk.org
Mon Dec 16 09:50:45 UTC 2024


On Thu, 5 Dec 2024 11:49:47 GMT, Robbin Ehn <rehn at openjdk.org> wrote:

> Hi, please consider these additional concurrent tests.
> 
> (this will not go into 24)
> 
> There are two concurrent counter versions:
> - Each thread is exclusively responsible for an certain increment steps
> - Each thread plainly tries to CAS increment by one
> 
> I refactored the code, so these concurrent versions can reuse the generated CAS functions.
> 
> 
> [ RUN      ] RiscV.cmpxchg_int64_concurrent_lr_sc_vm
> [       OK ] RiscV.cmpxchg_int64_concurrent_lr_sc_vm (24 ms)
> [ RUN      ] RiscV.cmpxchg_int64_concurrent_maybe_zacas_vm
> [       OK ] RiscV.cmpxchg_int64_concurrent_maybe_zacas_vm (12 ms)
> [ RUN      ] RiscV.cmpxchg_int32_concurrent_lr_sc_vm
> [       OK ] RiscV.cmpxchg_int32_concurrent_lr_sc_vm (14 ms)
> [ RUN      ] RiscV.cmpxchg_int32_concurrent_maybe_zacas_vm
> [       OK ] RiscV.cmpxchg_int32_concurrent_maybe_zacas_vm (14 ms)
> [ RUN      ] RiscV.cmpxchg_int16_concurrent_lr_sc_vm
> [       OK ] RiscV.cmpxchg_int16_concurrent_lr_sc_vm (15 ms)
> [ RUN      ] RiscV.cmpxchg_int16_concurrent_maybe_zacas_vm
> [       OK ] RiscV.cmpxchg_int16_concurrent_maybe_zacas_vm (14 ms)
> [ RUN      ] RiscV.cmpxchg_int8_concurrent_lr_sc_vm
> [       OK ] RiscV.cmpxchg_int8_concurrent_lr_sc_vm (14 ms)
> [ RUN      ] RiscV.cmpxchg_int8_concurrent_maybe_zacas_vm
> [       OK ] RiscV.cmpxchg_int8_concurrent_maybe_zacas_vm (14 ms)
> [ RUN      ] RiscV.weak_cmpxchg_int64_concurrent_lr_sc_vm
> [       OK ] RiscV.weak_cmpxchg_int64_concurrent_lr_sc_vm (15 ms)
> [ RUN      ] RiscV.weak_cmpxchg_int64_concurrent_maybe_zacas_vm
> [       OK ] RiscV.weak_cmpxchg_int64_concurrent_maybe_zacas_vm (11 ms)
> [ RUN      ] RiscV.weak_cmpxchg_int32_concurrent_lr_sc_vm
> [       OK ] RiscV.weak_cmpxchg_int32_concurrent_lr_sc_vm (15 ms)
> [ RUN      ] RiscV.weak_cmpxchg_int32_concurrent_maybe_zacas_vm
> [       OK ] RiscV.weak_cmpxchg_int32_concurrent_maybe_zacas_vm (12 ms)
> [ RUN      ] RiscV.weak_cmpxchg_int16_concurrent_lr_sc_vm
> [       OK ] RiscV.weak_cmpxchg_int16_concurrent_lr_sc_vm (13 ms)
> [ RUN      ] RiscV.weak_cmpxchg_int16_concurrent_maybe_zacas_vm
> [       OK ] RiscV.weak_cmpxchg_int16_concurrent_maybe_zacas_vm (14 ms)
> [ RUN      ] RiscV.weak_cmpxchg_int8_concurrent_lr_sc_vm
> [       OK ] RiscV.weak_cmpxchg_int8_concurrent_lr_sc_vm (13 ms)
> [ RUN      ] RiscV.weak_cmpxchg_int8_concurrent_maybe_zacas_vm
> [       OK ] RiscV.weak_cmpxchg_int8_concurrent_maybe_zacas_vm (15 ms)
> 
> 
> Execute with +UseZacas, and without on BPI-F3.
> 
> Thanks, Robbin

This pull request has now been integrated.

Changeset: 92860186
Author:    Robbin Ehn <rehn at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/92860186ec72dd5de55b310700a6b4f03d8b64fd
Stats:     507 lines in 1 file changed: 309 ins; 23 del; 175 mod

8345322: RISC-V: Add concurrent gtests for cmpxchg variants

Reviewed-by: mli, fyang

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

PR: https://git.openjdk.org/jdk/pull/22574


More information about the hotspot-dev mailing list