RFR (XXS): 8165153: Crash in rebuild_cpu_to_node_map

David Holmes david.holmes at oracle.com
Wed Sep 7 01:00:57 UTC 2016

webrev: http://cr.openjdk.java.net/~dholmes/8165153/webrev/

Bug: https://bugs.openjdk.java.net/browse/JDK-8165153

The NUMA rebuild_cpu_to_node_map code is intended to map from physical 
CPU ID's to nodes on a system. To determine how many CPUs there are it 
uses os::active_processor_count(). That is actually incorrect as it 
needs to how many CPUs the system has, not how many have been made 
available to the JVM. This worked** in the past because the 
active_processor_count() returned the number of online CPUs. However, 
after the fix for 6515172, it returned the number of available CPUs, as 
it should.

The fix is to change that code to use processor_count(), which is the 
number of configured CPUs on the system.


** The old code would likely also fail if the number of online CPUs 
dynamically increased after the JVM was started!

More information about the hotspot-runtime-dev mailing list