1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Fri Apr 29 09:11:03 2011 +0200 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Wed May 04 15:08:44 2011 -0700 1.3 @@ -224,6 +224,12 @@ 1.4 const size_t alignment = virtual_space()->alignment(); 1.5 size_t aligned_bytes = align_size_up(bytes, alignment); 1.6 size_t aligned_expand_bytes = align_size_up(MinHeapDeltaBytes, alignment); 1.7 + 1.8 + if (UseNUMA) { 1.9 + // With NUMA we use round-robin page allocation for the old gen. Expand by at least 1.10 + // providing a page per lgroup. Alignment is larger or equal to the page size. 1.11 + aligned_expand_bytes = MAX2(aligned_expand_bytes, alignment * os::numa_get_groups_num()); 1.12 + } 1.13 if (aligned_bytes == 0){ 1.14 // The alignment caused the number of bytes to wrap. An expand_by(0) will 1.15 // return true with the implication that and expansion was done when it