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

Erik Osterlund erik.osterlund at oracle.com
Tue Aug 22 14:08:42 UTC 2017


Hi,

I would go with #3.

Thanks,
/Erik

> On 22 Aug 2017, at 04:33, David Holmes <david.holmes at oracle.com> wrote:
> 
>> 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