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