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

Srinivas Ramakrishna ysr1729 at gmail.com
Thu Sep 12 02:41:42 PDT 2013


Hi Shrinivas --

Ah, I see what you are saying. That makes sense, having read yr blog
for bkgrd; thanks!

The changes look good to me; reviewed!
-- ramki


On Wed, Sep 11, 2013 at 4:16 PM, Shrinivas Joshi
<shrinivas.joshi at oracle.com> wrote:
> 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