RFC: 8185062: os::is_MP() sometimes returns false
David Holmes
david.holmes at oracle.com
Wed Aug 2 04:35:01 UTC 2017
https://bugs.openjdk.java.net/browse/JDK-8185062
Is it time to completely remove runtime optimizations aimed at
uniprocessor systems ie.
if (os::is_MP()) {
x();
}
just becomes:
x();
?
Does anyone care about uniprocessor systems _and_ care to the extent
that the overhead of things only necessary on MP systems (_lock
prefixes, explicit atomic instructions, memory barriers) would be a problem?
As outlined in the "bug" report there are three basic options:
1. Switch AssumeMP to be true by default (arguably necessary regardless
due to dynamic container environments)
2. Allow non-MP support to be built, but by default only build MP
support ie no runtime means to disable MP support, and compile-time
MP_ONLY/NOT_MP macros.
3. Assume the universe is MP and only allow MP to be built
Cheers,
David
-----
More information about the hotspot-dev
mailing list