8233850: Shenandoah: Shenandoah thread count ergonomics should be container aware

Reviewed-by: rkennke
This commit is contained in:
Zhengyu Gu 2019-11-08 11:41:17 -05:00
parent b7dd1aff8b
commit 3b8a1c14e8

View File

@ -71,7 +71,7 @@ void ShenandoahArguments::initialize() {
// compromise here.
bool ergo_conc = FLAG_IS_DEFAULT(ConcGCThreads);
if (ergo_conc) {
FLAG_SET_DEFAULT(ConcGCThreads, MAX2(1, os::processor_count() / 4));
FLAG_SET_DEFAULT(ConcGCThreads, MAX2(1, os::initial_active_processor_count() / 4));
}
if (ConcGCThreads == 0) {
@ -85,7 +85,7 @@ void ShenandoahArguments::initialize() {
// the number of concurrent threads.
bool ergo_parallel = FLAG_IS_DEFAULT(ParallelGCThreads);
if (ergo_parallel) {
FLAG_SET_DEFAULT(ParallelGCThreads, MAX2(1, os::processor_count() / 2));
FLAG_SET_DEFAULT(ParallelGCThreads, MAX2(1, os::initial_active_processor_count() / 2));
}
if (ParallelGCThreads == 0) {