On Thu, 24 Aug 2023 23:31:56 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

> On some macosx-aarch64 systems, not all mapped pages are dumped to the core 
> file. This first turned up with 
> [JDK-8293563](https://bugs.openjdk.org/browse/JDK-8293563) where large parts 
> of the ZGC heap would not be in the core file, leading to various SA address 
> errors. For JDK-8293563 the issue was addressed by having the core file test 
> always use `-XX:+AlwaysPreTouch` on macosx-aarch64. This seemed to force the 
> ZGC pages to always end up in the core file.
> 
> A similar issue has been noticed with mapped in pages of the CDS archive. We 
> are seeing cases where SA references to addresses that are clearly in the CDS 
> archive (based on info in the hs_err file) are failing to be read from the 
> core file by SA. This problem has turned up a number of times during CI 
> testing, but I have yet to be able to reproduce it myself. This PR is an 
> attempt to address this testing issue by having the CDS archive also pretouch 
> all mapped in pages when `-XX:+AlwaysPreTouch` is used.
> 
> Tested with tier1 and tier3 and also ran the test about 5,000 times with and 
> without the fix. It never reproduced for either. Hopefully the problem is 
> gone with this fix, but it may take a few months of CI testing before we can 
> be confident it is fixed.

Looks good to me.

The size of the CDS archive is usually much smaller than the committed heap 
size. 

The [GC tuning docs 
says](https://docs.oracle.com/en/java/javase/11/gctuning/garbage-first-garbage-collector-tuning.html#GUID-0770AB01-E334-4E23-B307-FD2114B16E0E):

> You can use -XX:+AlwaysPreTouch to move the operating system work to back 
> virtual memory with physical memory to VM startup time. Both of these 
> measures can be particularly desirable in order to make pause-times more 
> consistent.

So committing all the CDS regions to physical memory at VM start-up would be 
what the user expects when `-XX:+AlwaysPreTouch` is specified.

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

Marked as reviewed by iklam (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/15423#pullrequestreview-1594875750

Reply via email to