RFR: 8295282: Use Zicboz/cbo.zero to zero-out memory on RISC-V [v2]
Ludovic Henry
luhenry at openjdk.org
Tue Oct 18 08:22:22 UTC 2022
On Sun, 16 Oct 2022 08:44:01 GMT, Vladimir Kempik <vkempik at openjdk.org> wrote:
>> Ludovic Henry has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>>
>> - Fix comment
>> - Fix alignement
>> - Merge branch 'master' of github.com:openjdk/jdk into dev/ludovic/upstream-zicboz
>> - 8295282: Use Zicboz/cbo.zero to zero-out memory on RISC-V
>>
>> Similarly to AArch64 DC.ZVA, the RISC-V Zicboz [1] extension provides the cbo.zero [2] instruction that allows to zero out memory a cache-line at a time. This should be faster than storing zeroes 64bits at a time.
>>
>> [1] https://github.com/riscv/riscv-CMOs
>> [2] https://github.com/riscv/riscv-CMOs/blob/master/cmobase/Zicboz.adoc#insns-cbo_zero
>
> src/hotspot/os_cpu/linux_riscv/vm_version_linux_riscv.cpp line 117:
>
>> 115: }
>> 116:
>> 117: _cache_line_size = 64;
>
> Cache line size can be different on various cpus. Hardcoding it isn't nice. if it can't be reliably retrieved at runtime, maybe allow specifying it via some XX option ?
Agreed. I don't think there is an existing API on RISC-V to get the current cache line size. I'll add a `-XX:` flag instead.
-------------
PR: https://git.openjdk.org/jdk/pull/10718
More information about the hotspot-dev
mailing list