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