提交 b021a51f 编写于 作者: I iveresov

7041501: NUMA: Expand the old gen more aggressively

Summary: Expand the old gen in bigger increments
Reviewed-by: jmasa
上级 cd72a3fa
...@@ -224,6 +224,12 @@ void PSOldGen::expand(size_t bytes) { ...@@ -224,6 +224,12 @@ void PSOldGen::expand(size_t bytes) {
const size_t alignment = virtual_space()->alignment(); const size_t alignment = virtual_space()->alignment();
size_t aligned_bytes = align_size_up(bytes, alignment); size_t aligned_bytes = align_size_up(bytes, alignment);
size_t aligned_expand_bytes = align_size_up(MinHeapDeltaBytes, alignment); size_t aligned_expand_bytes = align_size_up(MinHeapDeltaBytes, alignment);
if (UseNUMA) {
// With NUMA we use round-robin page allocation for the old gen. Expand by at least
// providing a page per lgroup. Alignment is larger or equal to the page size.
aligned_expand_bytes = MAX2(aligned_expand_bytes, alignment * os::numa_get_groups_num());
}
if (aligned_bytes == 0){ if (aligned_bytes == 0){
// The alignment caused the number of bytes to wrap. An expand_by(0) will // The alignment caused the number of bytes to wrap. An expand_by(0) will
// return true with the implication that and expansion was done when it // return true with the implication that and expansion was done when it
......
...@@ -1423,6 +1423,11 @@ void Arguments::set_parallel_gc_flags() { ...@@ -1423,6 +1423,11 @@ void Arguments::set_parallel_gc_flags() {
} }
} }
} }
if (UseNUMA) {
if (FLAG_IS_DEFAULT(MinHeapDeltaBytes)) {
FLAG_SET_DEFAULT(MinHeapDeltaBytes, 64*M);
}
}
} }
void Arguments::set_g1_gc_flags() { void Arguments::set_g1_gc_flags() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册