# HG changeset patch # User jmasa # Date 1389907525 28800 # Node ID 8a3eb09ed1315895a235d33c178324c68342c058 # Parent 2edf6f3e191dec112c78fd87c5551e7d45684b8b 8024366: Make UseNUMA enable UseNUMAInterleaving Reviewed-by: brutisso, tschatzl Contributed-by: shrinivas.joshi@oracle.com diff -r 2edf6f3e191d -r 8a3eb09ed131 src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Fri Jan 31 09:58:06 2014 +0100 +++ b/src/share/vm/runtime/arguments.cpp Thu Jan 16 13:25:25 2014 -0800 @@ -3823,18 +3823,24 @@ } jint Arguments::adjust_after_os() { -#if INCLUDE_ALL_GCS - if (UseParallelGC || UseParallelOldGC) { - if (UseNUMA) { + if (UseNUMA) { + if (UseParallelGC || UseParallelOldGC) { if (FLAG_IS_DEFAULT(MinHeapDeltaBytes)) { - FLAG_SET_DEFAULT(MinHeapDeltaBytes, 64*M); + FLAG_SET_DEFAULT(MinHeapDeltaBytes, 64*M); } - // For those collectors or operating systems (eg, Windows) that do - // not support full UseNUMA, we will map to UseNUMAInterleaving for now - UseNUMAInterleaving = true; + } + // UseNUMAInterleaving is set to ON for all collectors and + // platforms when UseNUMA is set to ON. NUMA-aware collectors + // such as the parallel collector for Linux and Solaris will + // interleave old gen and survivor spaces on top of NUMA + // allocation policy for the eden space. + // Non NUMA-aware collectors such as CMS, G1 and Serial-GC on + // all platforms and ParallelGC on Windows will interleave all + // of the heap spaces across NUMA nodes. + if (FLAG_IS_DEFAULT(UseNUMAInterleaving)) { + FLAG_SET_ERGO(bool, UseNUMAInterleaving, true); } } -#endif // INCLUDE_ALL_GCS return JNI_OK; }