RFR(S): 8241638: launcher time metrics alway report 1 on Linux when _JAVA_LAUNCHER_DEBUG set

David Holmes david.holmes at oracle.com
Tue Mar 31 00:03:48 UTC 2020

On 31/03/2020 4:08 am, Henry Jen wrote:
> Based on my understanding to gethrtime(), the main benefit is not to be affected by settimeofday or adjtime. I think it is probably better to use
> clock_gettime(CLOCK_MONOTONIC_RAW, ts);
> which I checked seems to be available on both Linux and Mac. Haven’t test it though.

Not guaranteed to be available - either clock_gettime function or that 
particular clock - at build time or runtime. We use a check in the build 
system to determine build-time availability for hotspot, and then use 
dl_lookup etc at runtime to determine if actually available. We should 
be able to get rid of this one day but we checked fairly recently and 
there were still some issues.

gettimeofday is a lot better than returning 1. Otherwise call into the 
VM and use JVM_NanoTime.


> Cheers,
> Henry
>> On Mar 30, 2020, at 1:37 AM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
>> On 30/03/2020 03:41, linzang(臧琳) wrote:
>>> Dear All,
>>>       May I ask your help to reivew this tiny patch? Thanks.
>>> BRs,
>>> Lin
>>> From: "linzang(臧琳)" <linzang at tencent.com>
>>> Date: Thursday, March 26, 2020 at 3:13 PM
>>> To: "core-libs-dev at openjdk.java.net" <core-libs-dev at openjdk.java.net>
>>> Subject: RFR(S): 8241638: launcher time metrics alway report 1 on Linux when _JAVA_LAUNCHER_DEBUG set
>>> Dear All,
>>> May I ask your help to review this tiny fix?
>>>      Bug: https://bugs.openjdk.java.net/browse/JDK-8241638
>>>      Webrev: http://cr.openjdk.java.net/~lzang/8241638/webrev01/
>>> Thanks!
>> Using gettimeofday on non-Solaris platforms seems reasonable here. The comment in the patch suggests Linux but it's other Unix builds too. Also just a minor nit that the code in java.base uses 4-space indent, not 2. Looking at the patch makes me wondering if we should remove HAVE_GETHRTIME as it seems to be only used on Solaris and the launcher is already using #ifdef __solaris__ in several places. Henry, do you have any comments on this?
>> -Alan

More information about the core-libs-dev mailing list