RFR(s): 8145000: TestOptionsWithRanges.java failure for XX:+UseNUMA -XX:+UseNUMAInterleaving -XX:NUMAInterleaveGranularity=65536

sangheon sangheon.kim at oracle.com
Wed Dec 16 16:55:18 UTC 2015

Hi Dmitry,

On 12/16/2015 06:51 AM, Dmitry Dmitriev wrote:
> Hi Sangheon,
> Are you planning to remove excluding of "NUMAInterleaveGranularity" 
> from testing in TestOptionsWithRanges?
No, sorry for the confusion.
I forgot to add that part on my webrev. When I ran JPRT, I added 
"NUMAInterleaveGranularity" and enabled TestOptionsWithRanges.java.
Let me include this on next webrev.


> Thanks,
> Dmtry
> On 16.12.2015 3:53, sangheon wrote:
>> 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