RFR(s): 8145000: TestOptionsWithRanges.java failure for XX:+UseNUMA -XX:+UseNUMAInterleaving -XX:NUMAInterleaveGranularity=65536
sangheon
sangheon.kim at oracle.com
Wed Dec 16 00:53:05 UTC 2015
Hi all,
Could I get a couple of reviews for Windows NUMAInterleaveGranularity
change?
Current Windows implementation can't handle correctly when we reserve a
heap with disjoint heap base mode with NUMAInterleaveGranularity.
Windows, os::protect_memory fails in above case, as we are trying to
protect the whole reserved heap at one time. But we reserved that area
with separate/contiguous chunks based on NUMAInterleaveGranularity size.
MSDN describes to call the API separately.
I changed protect API to be called multiple times if needed.
Skipped adding a test as TestOptionsWithRanges.java is enough.
'java -XX:+UseNUMA -XX:+UseNUMAInterleaving' is enough to reproduce on
large memory Windows machine. However we need to specify heap size if
the machine doesn't have large memory. e.g. -Xms30g -Xmx30g
This patch is based on the patch for JDK-8144949 which includes the
change of the max range of NUMAInterleaveGranularity to 2G(32bit),
8192G(64bit).
CR: https://bugs.openjdk.java.net/browse/JDK-8145000
Webrev: http://cr.openjdk.java.net/~sangheki/8145000/webrev.00
Testing: JPRT (with TestOptionsWithRanges.java enabled), manual tests on
Windows machine(to test on large memory).
Thanks,
Sangheon
More information about the hotspot-gc-dev
mailing list