RFC: 8185062: os::is_MP() sometimes returns false
David Holmes
david.holmes at oracle.com
Tue Aug 22 02:33:45 UTC 2017
On 22/08/2017 11:08 AM, Vladimir Kozlov wrote:
> On 8/21/17 5:56 PM, David Holmes wrote:
>> Surprising lack of response to this.
>
> You need more? I and Aleksey replied.
So I'm good on feedback quality, just lacking in quantity :)
David
> 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