src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp

changeset 2854
567c87d484a0
parent 2783
eda9eb483d29
child 2971
c9ca3f51cf41
     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

mercurial