RFC: 8185062: os::is_MP() sometimes returns false

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Aug 2 05:02:56 UTC 2017

I am fine to drop non_MP now (3.) if people are fine with it.
Lets hear from our colleges who support other systems and give them build macros (2.) if needed.

1. choice regarding AssumeMP flag could be used in previous releases. And done per platform by converting flag to product_pd() if needed.


On 8/1/17 9:35 PM, David Holmes wrote:
> 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