RFC: 8185062: os::is_MP() sometimes returns false
David Holmes
david.holmes at oracle.com
Mon Aug 28 05:11:53 UTC 2017
On 24/08/2017 5:49 AM, Daniel D. Daugherty wrote:
> Vote: option #3
Thanks for all the additional input folks - seems option #3 is preferred
by hardcore VM folk :)
I'll look into this further now.
Thanks,
David
> 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