RFR: 8354358: ZGC: ZPartition::prime handle discontiguous reservations correctly
Stefan Karlsson
stefank at openjdk.org
Fri Apr 11 07:02:39 UTC 2025
On Fri, 11 Apr 2025 06:14:42 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:
> Prior to [JDK-8350441](https://bugs.openjdk.org/browse/JDK-8350441) the VM would not have started if we received a discontiguous heap reservation with all reservations smaller than the inital heap capacity. Now we crash because `ZPartition::prime` does not take this into account.
>
> However in contrast to the page cache, the mapped cache makes it trivial to support this scenario. So I propose fixing `ZPartition::prime` to handle any discontiguous heap reservation.
>
> Can be provoked in a debug build by using ZForceDiscontiguousHeapReservations > 16
> `java -XX:+UseZGC -XX:ZForceDiscontiguousHeapReservations=17 -Xmx128m -Xms128m --version`
>
> Currently running this through testing.
Looks good.
As a follow-up, we might want to move the pre-touching so that we don't start and stop threads multiple times.
-------------
Marked as reviewed by stefank (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/24589#pullrequestreview-2759342921
More information about the hotspot-gc-dev
mailing list