RFR: 8310015: ZGC: Unbounded asynchronous unmapping can lead to running out of address space

Erik Österlund eosterlund at openjdk.org
Fri Jun 16 10:31:08 UTC 2023


ZGC (both generational and non-generational) use asynchronous unmapping. Today the amount of unmapping requests we can queue up is unbounded. This can lead to a classic consumer producer problem, where the consumer is slower than the producer, and we eventually run out of address space and have to shut down. 
This PR introduces an upper bound for the asynchronous unmapping, to prevent the VM from shutting down. Going forwards, there are some ideas to both increase the speed of unmapping and reduce the need for unmapping, but this PR is focused only on introducing a configurable bound for async unmapping.

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

Commit messages:
 - 8310015: ZGC: Unbounded asynchronous unmapping can lead to running out of address space

Changes: https://git.openjdk.org/jdk/pull/14513/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14513&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8310015
  Stats: 105 lines in 6 files changed: 93 ins; 6 del; 6 mod
  Patch: https://git.openjdk.org/jdk/pull/14513.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14513/head:pull/14513

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


More information about the hotspot-dev mailing list