< prev index next >

test/gc/arguments/TestSmallInitialHeapWithLargePageAndNUMA.java

Print this page
rev 11780 : [mq]: webrev.0
rev 11781 : [mq]: webrev.1

*** 39,60 **** import jdk.test.lib.OutputAnalyzer; import sun.hotspot.WhiteBox; public class TestSmallInitialHeapWithLargePageAndNUMA { ! private static final String MSG_EXIT_TOO_SMALL_HEAP = "Failed initializing NUMA. Too small initial heap size"; private static final String MSG_GC_TRIGGERED_BEFORE_INIT = "GC triggered before VM initialization completed."; public static void main(String[] args) throws Exception { WhiteBox wb = WhiteBox.getWhiteBox(); long heapAlignment = wb.getHeapAlignment(); ! // NUMA with large pages is not fully compatible in Linux, so we are using pin region. ! // And the pin region case, we will skip freeing memory if the page size is larger than the default page size. ! // If we allocate pages less than NUMA node, NUMA will try to use default page size. ! // And this will conflict for pin region. // Assume the minimum NUMA node as 2. long initHeap = heapAlignment; long maxHeap = heapAlignment * 2; String[] vmArgs = {"-XX:+UseParallelGC", --- 39,60 ---- import jdk.test.lib.OutputAnalyzer; import sun.hotspot.WhiteBox; public class TestSmallInitialHeapWithLargePageAndNUMA { ! private static final String MSG_EXIT_TOO_SMALL_HEAP = "Failed initializing NUMA with large pages. Too small heap size"; private static final String MSG_GC_TRIGGERED_BEFORE_INIT = "GC triggered before VM initialization completed."; public static void main(String[] args) throws Exception { WhiteBox wb = WhiteBox.getWhiteBox(); long heapAlignment = wb.getHeapAlignment(); ! // When using large pages, Linux does not support freeing parts of reserved and committed memory. ! // And current Linux implementation uses page size as a condition to actually freeing memory. ! // If we allocate pages less than NUMA node, NUMA will try to use default page size and ! // this will free the memory which Linux does not support. // Assume the minimum NUMA node as 2. long initHeap = heapAlignment; long maxHeap = heapAlignment * 2; String[] vmArgs = {"-XX:+UseParallelGC",
< prev index next >