Mercurial > hg > graal-jvmci-8
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 |