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

sangheon sangheon.kim at oracle.com
Mon Dec 21 21:43:26 UTC 2015


Hi all,

Tom and I did some discussion(previously I misunderstood Tom's comment) 
and here's the next webrev which includes:

1. Call protect_pages_individually() when UseNUMAInterleaving is enabled 
(Tom)
2. Added a comment why we need to call protect_pages_individually(). (Tom)
3. Changed VirtualQuery() handling code. (Tom)

http://cr.openjdk.java.net/~sangheki/8145000/webrev.03
http://cr.openjdk.java.net/~sangheki/8145000/webrev.03_to_02

Thanks,
Sangheon


On 12/21/2015 11:19 AM, Tom Benson wrote:
> Hi,
>
> On 12/21/2015 1:57 PM, Jesper Wilhelmsson wrote:
>> Hi Sangheon,
>>
>> I was under the impression that Tom wanted to keep the 
>> UseNUMAInterleaving test and not always call 
>> protect_pages_individually(). 
>
> Yes, I'd said that was my vote, but wasn't adamant about it.  If we 
> agree, let's keep it.  8^)
> Tom
>
>> At least that's what I would prefer. If you revert that change I 
>> think we have something here :)
>> /Jesper
>>
>>
>> Den 21/12/15 kl. 18:48, skrev sangheon:
>>> Hi Jesper and Tom,
>>>
>>> Here's next webrev which includes below:
>>> - Check return value of VirtualQuery. (Tom, Jesper)
>>> - Always call protect_pages_individually() from 
>>> os::protect_memory(). (Tom)
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~sangheki/8145000/webrev.02
>>> http://cr.openjdk.java.net/~sangheki/8145000/webrev.02_to_01/
>>>
>>> Test:
>>> JPRT, RBT (hotspot/test/:hotspot_all,testlist,noncolo.testlist
>>> --add-tonga-keyword quick for Windows only)
>>>
>>> Thanks,
>>> Sangheon
>>>
>>>
>>> On 12/21/2015 03:40 AM, Jesper Wilhelmsson wrote:
>>>> Hi Sangheon,
>>>>
>>>> I like this version a lot better.
>>>> I have no further comments except for what Tom already mentioned about
>>>> checking VirtualQuery return value.
>>>> /Jesper
>>>>
>>>>
>>>> Den 19/12/15 kl. 00:39, skrev Tom Benson:
>>>>> Hi Sangheon,
>>>>>
>>>>> On 12/18/2015 6:02 PM, sangheon wrote:
>>>>>> Hi Tom,
>>>>>>
>>>>>> On 12/17/2015 04:23 PM, sangheon wrote:
>>>>>>> Hi Tom,
>>>>>>>
>>>>>>> Thank you for reviewing this!
>>>>>>>
>>>>>>> On 12/17/2015 01:28 PM, Tom Benson wrote:
>>>>>>>> Hi Sangheon,
>>>>>>>> I like the new approach, but just have a couple of comments.
>>>>>>> Thanks.
>>>>>>>
>>>>>>>>
>>>>>>>> I think you should check the VirtualQuery return status and 
>>>>>>>> return false
>>>>>>>> from protect_pages_individually if zero.
>>>>>>> Right.
>>>>>>> I will fix this.
>>>>>>>
>>>>>>>>
>>>>>>>> I don't *think* you need to have the "!UseLargePages" 
>>>>>>>> restriction anymore
>>>>>>>> with this approach, do you?
>>>>>>> protect_pages_individually() doesn't have previous restriction 
>>>>>>> on its usage.
>>>>>>> However I wanted to remain the caller(os::protect_memory) as is 
>>>>>>> because, as
>>>>>>> you already mentioned below, I didn't want to have an additional 
>>>>>>> call of
>>>>>>> VirtualQuery() for simpler code.
>>>>>>> I don't have strong opinion on this.
>>>>>>>
>>>>>>> Let me post next webrev after concluding this.
>>>>>> Tom, do you prefer to always use protect_pages_individually()?
>>>>>> Does anyone have opinion on this?
>>>>>>
>>>>>
>>>>> I'd vote for leaving the UseNUMAInterleaving test in.
>>>>> Tom
>>>>>
>>>>>> Thanks,
>>>>>> Sangheon
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Sangheon
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Actually, I think you could just always use 
>>>>>>>> protect_pages_individually
>>>>>>>> regardless of whether UseNUMAInterleaving was enabled or not, 
>>>>>>>> and the right
>>>>>>>> thing would happen.  But this way, you save an unnecessary 
>>>>>>>> system call plus
>>>>>>>> some overhead.
>>>>>>>> Tom
>>>>>>>>
>>>>>>>>
>>>>>
>>>
>




More information about the hotspot-gc-dev mailing list