Request for review 8024366: UseNUMAInterleaving should be available for other GC's.

Shrinivas Joshi shrinivas.joshi at oracle.com
Wed Sep 11 16:16:52 PDT 2013


Hi Ramki,

Thanks for the feedback. Your version of the comments in 'else' part 
reads better. I will make those changes.
Regarding the differences in the settings on Windows, where UseNUMA maps 
to UseNUMAInterleaving, Tom Deneau from AMD has written a blog on this 
after he contributed UseNUMAInterleaving feature changes - 
http://developer.amd.com/community/blog/a-new-numa-option-for-windows-on-the-hotspot-jvm/ 
.

We turn UseNUMAInterleaving OFF on Windows when UseNUMA is not set since 
UseNUMAInterleaving is ON by default on Windows. On Windows, we only 
want to enable interleaving when UseNUMA is set since there is no real 
full-blown UseNUMA feature available/possible on Windows as of today. 
UseNUMAInterleaving code is independent of UseNUMA and hence we have to 
disable interleaving explicitly if it is not asked for either in the 
form of UseNUMA or UseNUMAInterleaving.

I hope this was of help?

Thanks,
-Shrinivas

On 9/6/2013 2:47 PM, Jon Masamitsu wrote:
> Shrinivas,
>
> In case you're not on hotspot-gc-dev at openjdk.java.net
>
> Jon
>
> On 9/6/2013 12:47 PM, Srinivas Ramakrishna wrote:
>> Hi Jon, Shrinivas --
>>
>> I think the comment might be better if it were reframed for the case
>> when UseNUMA is not set since the comment occurs in the else arm of
>> the test.
>> That makes it clearer what the code's intention is. (Given the default
>> settings on Linux and Solaris, that section of code is essentially a
>> no-op on
>> Solaris and Linux.
>>
>> For example:
>>
>> 3655   } else {
>> 3656     // NUMA interleaving (numa_global) is ON by default on Windows,
>> 3657    // and OFF by default on Linux and Solaris.
>> 3658     // If UseNUMA is not set, we disable interleaving on Windows,
>> 3659     // unless it's explicitly set on the command-line.
>> 3661     if (FLAG_IS_DEFAULT(UseNUMAInterleaving)) {
>> 3662       FLAG_SET_ERGO(bool, UseNUMAInterleaving, false);
>> 3663     }
>> 3664   }
>>
>> Where is the reason for the difference in Windows settings 
>> documented? What was
>> the reason for turning it off on Windows when UseNUMA is not set?  
>> Naively, I'd
>> have thought that UseNUMAInterleaving would not matter when UseNUMA 
>> isn't set.
>> (I have not kept up with the changes here, and don't have the code
>> handy to have a look,
>> but i wanted to get these comments out before i forgot about it.)
>> Sorry that this isn't a real
>> review :-)
>>
>> thanks.
>> -- ramki
>>
>>
>> On Fri, Sep 6, 2013 at 7:36 AM, Jon Masamitsu 
>> <jon.masamitsu at oracle.com> wrote:
>>> UseNUMA is implemented for the UseParallelGC.  For other GC's this 
>>> change
>>> makes the interleaving option UseNUMAInterleaving available.
>>>
>>> http://cr.openjdk.java.net/~jmasa/8024366/webrev.00/
>>>
>>> This patch was contributed by Shrinivas Joshi.
>>>
>



More information about the hotspot-gc-dev mailing list