comparison src/os/linux/vm/os_linux.cpp @ 3292:c303b3532d4a

7037939: NUMA: Disable adaptive resizing if SHM large pages are used Summary: Make the NUMA allocator behave properly with SHM and ISM large pages. Reviewed-by: ysr
author iveresov
date Tue, 26 Apr 2011 11:46:34 -0700
parents 7f3faf7159fd
children 188c9a5d6a6d
comparison
equal deleted inserted replaced
3291:d6cdc6c77582 3292:c303b3532d4a
4168 if ((Linux::numa_max_node() < 1)) { 4168 if ((Linux::numa_max_node() < 1)) {
4169 // There's only one node(they start from 0), disable NUMA. 4169 // There's only one node(they start from 0), disable NUMA.
4170 UseNUMA = false; 4170 UseNUMA = false;
4171 } 4171 }
4172 } 4172 }
4173 // With SHM large pages we cannot uncommit a page, so there's not way
4174 // we can make the adaptive lgrp chunk resizing work. If the user specified
4175 // both UseNUMA and UseLargePages (or UseSHM) on the command line - warn and
4176 // disable adaptive resizing.
4177 if (UseNUMA && UseLargePages && UseSHM) {
4178 if (!FLAG_IS_DEFAULT(UseNUMA)) {
4179 if (FLAG_IS_DEFAULT(UseLargePages) && FLAG_IS_DEFAULT(UseSHM)) {
4180 UseLargePages = false;
4181 } else {
4182 warning("UseNUMA is not fully compatible with SHM large pages, disabling adaptive resizing");
4183 UseAdaptiveSizePolicy = false;
4184 UseAdaptiveNUMAChunkSizing = false;
4185 }
4186 } else {
4187 UseNUMA = false;
4188 }
4189 }
4173 if (!UseNUMA && ForceNUMA) { 4190 if (!UseNUMA && ForceNUMA) {
4174 UseNUMA = true; 4191 UseNUMA = true;
4175 } 4192 }
4176 } 4193 }
4177 4194