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