RFR: 8358310: ZGC: riscv, ppc ZPlatformAddressOffsetBits may return a too large value
Fei Yang
fyang at openjdk.org
Tue Jun 3 08:56:51 UTC 2025
On Mon, 2 Jun 2025 08:55:02 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:
> The way that ZPlatformAddressOffsetBits is implemented on riscv and ppc may result in a return value of 45. This is larger than the max supported value of 44 (because of other internal data structures). This was fixed in [JDK-8330275](https://bugs.openjdk.org/browse/JDK-8330275) for aarch64.
>
> Before [JDK-8350441](https://bugs.openjdk.org/browse/JDK-8350441) the issue on manifested if one tried to select a heap larger than 16 TB (not supported), but after [JDK-8350441](https://bugs.openjdk.org/browse/JDK-8350441) we try to double the heap address space when running on a NUMA machine. So we may now encounter this bug for heaps larger than 8TB (which is supported).
>
> While ZPlatformAddressOffsetBits needs an overhaul. (It was written for non-generational ZGC where we had the three color bits inside the address.) The proposal is that we solve this for ppc and riscv by doing the same thing we did for aarch64 in [JDK-8330275](https://bugs.openjdk.org/browse/JDK-8330275)
Thanks. I tried some non-trivial benchmark workloads with ZGC on linux-riscv64, seems to work.
-------------
Marked as reviewed by fyang (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/25578#pullrequestreview-2891368869
More information about the hotspot-dev
mailing list