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

David Holmes david.holmes at oracle.com
Tue Aug 22 00:56:03 UTC 2017


Surprising lack of response to this.

Conservatism will likely dictate we go option #1 if we get no more feedback.

Thanks,
David

On 2/08/2017 2: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