8147906: G1 use of os::processor_count()
Summary: Use os::active_processor_count() instead of os::processor_count() in G1
Reviewed-by: dholmes, jmasa
--- a/hotspot/src/share/vm/gc/g1/concurrentMark.cpp Thu Jan 28 19:30:39 2016 +0100
+++ b/hotspot/src/share/vm/gc/g1/concurrentMark.cpp Thu Jan 28 16:05:41 2016 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -489,11 +489,11 @@
double overall_cm_overhead =
(double) MaxGCPauseMillis * marking_overhead /
(double) GCPauseIntervalMillis;
- double cpu_ratio = 1.0 / (double) os::processor_count();
+ double cpu_ratio = 1.0 / (double) os::active_processor_count();
double marking_thread_num = ceil(overall_cm_overhead / cpu_ratio);
double marking_task_overhead =
overall_cm_overhead / marking_thread_num *
- (double) os::processor_count();
+ (double) os::active_processor_count();
double sleep_factor =
(1.0 - marking_task_overhead) / marking_task_overhead;
--- a/hotspot/src/share/vm/gc/g1/dirtyCardQueue.cpp Thu Jan 28 19:30:39 2016 +0100
+++ b/hotspot/src/share/vm/gc/g1/dirtyCardQueue.cpp Thu Jan 28 16:05:41 2016 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -160,7 +160,7 @@
// Determines how many mutator threads can process the buffers in parallel.
uint DirtyCardQueueSet::num_par_ids() {
- return (uint)os::processor_count();
+ return (uint)os::active_processor_count();
}
void DirtyCardQueueSet::initialize(CardTableEntryClosure* cl,