RFC: 8185062: os::is_MP() sometimes returns false
Daniel D. Daugherty
daniel.daugherty at oracle.com
Wed Aug 23 19:49:40 UTC 2017
Vote: option #3
Dan
On 8/21/17 6:56 PM, David Holmes wrote:
> 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