Skip to content

Commit 81933b7

Browse files
committed
8298642: ParallelGC -XX:+UseNUMA eden spaces allocated on wrong node
Reviewed-by: tschatzl, ayang
1 parent 92fe304 commit 81933b7

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/hotspot/share/gc/parallel/mutableNUMASpace.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,9 +314,12 @@ void MutableNUMASpace::bias_region(MemRegion mr, int lgrp_id) {
314314
assert(region().contains(aligned_region), "Sanity");
315315
// First we tell the OS which page size we want in the given range. The underlying
316316
// large page can be broken down if we require small pages.
317-
os::realign_memory((char*)aligned_region.start(), aligned_region.byte_size(), page_size());
317+
const size_t os_align = UseLargePages ? page_size() : os::vm_page_size();
318+
os::realign_memory((char*)aligned_region.start(), aligned_region.byte_size(), os_align);
318319
// Then we uncommit the pages in the range.
319-
os::free_memory((char*)aligned_region.start(), aligned_region.byte_size(), page_size());
320+
// The alignment_hint argument must be less than or equal to the small page
321+
// size if not using large pages or else this function does nothing.
322+
os::free_memory((char*)aligned_region.start(), aligned_region.byte_size(), os_align);
320323
// And make them local/first-touch biased.
321324
os::numa_make_local((char*)aligned_region.start(), aligned_region.byte_size(), lgrp_id);
322325
}

0 commit comments

Comments
 (0)