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

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Aug 22 01:08:40 UTC 2017


On 8/21/17 5:56 PM, David Holmes wrote:
> Surprising lack of response to this.

You need more? I and Aleksey replied.

Vladimir

> 
> 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