src/share/vm/runtime/arguments.cpp

changeset 6955
bcd72ab4d91f
parent 6951
99dbb9cd9521
child 7008
dd219eaec9cc
     1.1 --- a/src/share/vm/runtime/arguments.cpp	Fri Aug 01 11:23:06 2014 -0700
     1.2 +++ b/src/share/vm/runtime/arguments.cpp	Thu Jan 16 13:25:25 2014 -0800
     1.3 @@ -3835,18 +3835,24 @@
     1.4  }
     1.5  
     1.6  jint Arguments::adjust_after_os() {
     1.7 -#if INCLUDE_ALL_GCS
     1.8 -  if (UseParallelGC || UseParallelOldGC) {
     1.9 -    if (UseNUMA) {
    1.10 +  if (UseNUMA) {
    1.11 +    if (UseParallelGC || UseParallelOldGC) {
    1.12        if (FLAG_IS_DEFAULT(MinHeapDeltaBytes)) {
    1.13 -        FLAG_SET_DEFAULT(MinHeapDeltaBytes, 64*M);
    1.14 +         FLAG_SET_DEFAULT(MinHeapDeltaBytes, 64*M);
    1.15        }
    1.16 -      // For those collectors or operating systems (eg, Windows) that do
    1.17 -      // not support full UseNUMA, we will map to UseNUMAInterleaving for now
    1.18 -      UseNUMAInterleaving = true;
    1.19 +    }
    1.20 +    // UseNUMAInterleaving is set to ON for all collectors and
    1.21 +    // platforms when UseNUMA is set to ON. NUMA-aware collectors
    1.22 +    // such as the parallel collector for Linux and Solaris will
    1.23 +    // interleave old gen and survivor spaces on top of NUMA
    1.24 +    // allocation policy for the eden space.
    1.25 +    // Non NUMA-aware collectors such as CMS, G1 and Serial-GC on
    1.26 +    // all platforms and ParallelGC on Windows will interleave all
    1.27 +    // of the heap spaces across NUMA nodes.
    1.28 +    if (FLAG_IS_DEFAULT(UseNUMAInterleaving)) {
    1.29 +      FLAG_SET_ERGO(bool, UseNUMAInterleaving, true);
    1.30      }
    1.31    }
    1.32 -#endif // INCLUDE_ALL_GCS
    1.33    return JNI_OK;
    1.34  }
    1.35  

mercurial