On Thu, 21 Jan 2021 05:24:09 GMT, David Holmes <dhol...@openjdk.org> wrote:
>> We are now confident that we have build-time and runtime support for >> clock_gettime and CLOCK_MONOTONIC on all our OpenJDK supported POSIX >> platforms - see bug report for some more details on different OS. >> Consequently we can simplify a lot of the code in this area and move common >> code to os_posix. >> >> As of glibc 2.17 the necessary functions are in glibc rather than librt, but >> we (Oracle at least) aren't yet in position to set our minimum Linux version >> to support that. We still have supported platforms at glibc 2.12. So to >> address that we link librt at build time on Linux. This seems to work find >> for older and more modern Linuxes and also works for the Apline Linux with >> Musl variant. >> >> The changes are in layered commits: >> >> Step 1: Remove build time checks. SUPPORTS_CLOCK_MONOTONIC is assumed true >> and removed. >> Step 2: make supports_monotonic_clock always true and so remove checking in >> OS code >> Step 3: Replace gettimeofday by clock_gettime(CLOCK_REALTIME) >> Step 4: Move shared time functions to os_posix.cpp >> Step 5: Alway link librt on Linux so we don't rely on glibc > 2.17 >> >> Testing: tiers 1-3 for functional testing >> built and checked (-Xlog:os) on Linux with glibc 2.12 and 2.17, >> macOS 10.13.6 and 10.15.7 > > David Holmes has updated the pull request incrementally with one additional > commit since the last revision: > > Remove the always true os::supports_monotonic_clock() Hi David, The changes look good. Just a couple of nits. 1. Could you add a comment explaining why AIX and BSD have their own version of javaTimeNanos_info(). 2. A few copyrights need to be updated to 2021. Thanks, Harold ------------- Marked as reviewed by hseigel (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/2090