< prev index next >

src/share/vm/runtime/vm_version.cpp

Print this page

        

*** 273,283 **** unsigned int Abstract_VM_Version::nof_parallel_worker_threads( unsigned int num, unsigned int den, unsigned int switch_pt) { if (FLAG_IS_DEFAULT(ParallelGCThreads)) { ! assert(ParallelGCThreads == 0, "Default ParallelGCThreads is not 0"); // For very large machines, there are diminishing returns // for large numbers of worker threads. Instead of // hogging the whole system, use a fraction of the workers for every // processor after the first 8. For example, on a 72 cpu machine // and a chosen fraction of 5/8 --- 273,284 ---- unsigned int Abstract_VM_Version::nof_parallel_worker_threads( unsigned int num, unsigned int den, unsigned int switch_pt) { if (FLAG_IS_DEFAULT(ParallelGCThreads)) { ! assert(_parallel_worker_threads_initialized || ! ParallelGCThreads == 0, "Default ParallelGCThreads is not 0"); // For very large machines, there are diminishing returns // for large numbers of worker threads. Instead of // hogging the whole system, use a fraction of the workers for every // processor after the first 8. For example, on a 72 cpu machine // and a chosen fraction of 5/8
*** 307,311 **** --- 308,324 ---- } _parallel_worker_threads_initialized = true; } return _parallel_worker_threads; } + + void Abstract_VM_Version::FinalParallelGCThreads_test() { + // This consistency check should only be made if the user has not set + // a value on the command line and a ergonomically determined value + // is used (i.e., _parallel_worker_threads_initialized is true). + if (FLAG_IS_DEFAULT(ParallelGCThreads) && _parallel_worker_threads_initialized) { + assert(ParallelGCThreads == VM_Version::calc_parallel_worker_threads(), + "ParallelGCThreads %u is different than that calculated after full VM initialization %u.", + ParallelGCThreads, VM_Version::calc_parallel_worker_threads()); + } + } +
< prev index next >