Obsolete/remove unused UseBsdPosixThreadCPUClocks

David Holmes david.holmes at oracle.com
Wed Jun 10 04:06:37 UTC 2020


I have filed:

https://bugs.openjdk.java.net/browse/JDK-8247289

and will apply fix as soon as the repo switches to JDK 16 (and CSR is 
approved of course).

Also filed similar issue for UseOprofile:

https://bugs.openjdk.java.net/browse/JDK-8247292

David
-----

On 7/06/2020 2:16 pm, David Holmes wrote:
> Hi Christoph,
> 
> On 7/06/2020 4:54 am, Christoph Dreis wrote:
>> Hi,
>>
>> Please forgive me if this is not the correct mailing list.
>>
>> I've stumbled upon UseBsdPosixThreadCPUClocks that seems unused in the 
>> code.
> 
> Yes. The BSD/macOS port was based on the Linux port and in many instance 
> there was a global replace of "linux" with "BSD" resulting in a lot of 
> inappropriate code in the BSD port.
> 
>> I don't know what the process for already unused flags is.
>> E.g. if they need to be deprecated first or can be removed directly.
> 
> If the flag is functional (and a product flag) then the process would 
> normally be to first deprecate (which still applies the flag but issues 
> a warning), then obsolete (ignore the flag and issue a warning), then 
> expire it (which gives an error about an unknown flag).
> 
> In cases like this, where the flag actually does nothing then you can 
> request immediate obsoletion.
> 
> A bug will need to be filed, and a CSR request created for the bug.
> 
>> I've prepared two patches - one for each option:
>>
>> ===== REMOVAL PATCH =====
>> --- a/src/hotspot/os/bsd/globals_bsd.hpp        Sat Jun 06 08:13:40 
>> 2020 +0000
>> +++ b/src/hotspot/os/bsd/globals_bsd.hpp        Sat Jun 06 20:25:58 
>> 2020 +0200
>> @@ -40,11 +40,6 @@
>>                                                                                   
>> \
>>     product(bool, UseOprofile, 
>> false,                                             \
>>           "enable support for Oprofile 
>> profiler")                                 \
>> -                                                                                
>> \
>> -  /*  NB: The default value of UseBsdPosixThreadCPUClocks may be  
>> */            \
>> -  /*  overridden in Arguments::parse_each_vm_init_arg.            
>> */            \
>> -  product(bool, UseBsdPosixThreadCPUClocks, 
>> true,                               \
>> -          "enable fast Bsd Posix clocks where 
>> available")                       \
> 
> Obsoleting the flag still requires an entry in the flag table in 
> arguments.cpp
> 
>> ===== DEPRECATION PATCH =====
>> --- a/src/hotspot/share/runtime/arguments.cpp   Sat Jun 06 08:13:40 
>> 2020 +0000
>> +++ b/src/hotspot/share/runtime/arguments.cpp   Sat Jun 06 20:48:05 
>> 2020 +0200
>> @@ -535,6 +535,7 @@
>>     { "PrintPreciseBiasedLockingStatistics", JDK_Version::jdk(15), 
>> JDK_Version::jdk(16), JDK_Version::jdk(17) },
>>     { "InitialBootClassLoaderMetaspaceSize", JDK_Version::jdk(15), 
>> JDK_Version::jdk(16), JDK_Version::jdk(17) },
>>     { "UseLargePagesInMetaspace",            JDK_Version::jdk(15), 
>> JDK_Version::jdk(16), JDK_Version::jdk(17) },
>> +  { "UseBsdPosixThreadCPUClocks",          JDK_Version::jdk(15), 
>> JDK_Version::jdk(16), JDK_Version::jdk(17) },
> 
> As the flag only exists for BSD it will need to be in a ifdef guard for 
> BSD.
> 
>>     // --- Deprecated alias flags (see also aliased_jvm_flags) - 
>> sorted by obsolete_in then expired_in:
>>     { "DefaultMaxRAMFraction",        JDK_Version::jdk(8),  
>> JDK_Version::undefined(), JDK_Version::undefined() },
>>
>> In case you think this is worthwhile, I'd appreciate if someone can 
>> sponsor this change.
>> (I've contributed to core-libs before, so CLA is signed)
> 
> We hit rampdown phase one for JDK 15 this Wednesday so it is a bit late 
> to try and get this into 15 now (the CSR process would not be complete 
> in time). But I will file the bug and CSR request to get this cleaned up 
> for JDK 16.
> 
> Thanks,
> David
> 
>> Cheers,
>> Christoph
>>
>>


More information about the hotspot-runtime-dev mailing list