1.1 --- a/src/os/linux/vm/os_linux.cpp Sat Apr 23 04:20:09 2011 -0700 1.2 +++ b/src/os/linux/vm/os_linux.cpp Tue Apr 26 11:46:34 2011 -0700 1.3 @@ -4170,6 +4170,23 @@ 1.4 UseNUMA = false; 1.5 } 1.6 } 1.7 + // With SHM large pages we cannot uncommit a page, so there's not way 1.8 + // we can make the adaptive lgrp chunk resizing work. If the user specified 1.9 + // both UseNUMA and UseLargePages (or UseSHM) on the command line - warn and 1.10 + // disable adaptive resizing. 1.11 + if (UseNUMA && UseLargePages && UseSHM) { 1.12 + if (!FLAG_IS_DEFAULT(UseNUMA)) { 1.13 + if (FLAG_IS_DEFAULT(UseLargePages) && FLAG_IS_DEFAULT(UseSHM)) { 1.14 + UseLargePages = false; 1.15 + } else { 1.16 + warning("UseNUMA is not fully compatible with SHM large pages, disabling adaptive resizing"); 1.17 + UseAdaptiveSizePolicy = false; 1.18 + UseAdaptiveNUMAChunkSizing = false; 1.19 + } 1.20 + } else { 1.21 + UseNUMA = false; 1.22 + } 1.23 + } 1.24 if (!UseNUMA && ForceNUMA) { 1.25 UseNUMA = true; 1.26 }