RFR: 8324781: runtime/Thread/TestAlwaysPreTouchStacks.java failed with Expected a higher ratio between stack committed and reserved [v3]

Stefan Karlsson stefank at openjdk.org
Mon Apr 8 09:12:12 UTC 2024


On Mon, 8 Apr 2024 08:31:39 GMT, Liming Liu <duke at openjdk.org> wrote:

>> The testcase failed on Oracle CI since JDK-8315923. The root cause is that Oracle CI runs Linux-5.4.17-UEK where the value of MADV_POPULATE_WRITE (23) is used as MADV_DONTEXEC which is not supported by upstream. This PR solves the testcase failure by checking versions of kernels first, and checking the availability of MADV_POPULATE_WRITE when they are not older than 5.14.
>
> Liming Liu has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Disable UseMadvPopulateWrite when not supported

src/hotspot/os/linux/os_linux.cpp line 180:

> 178: const char * os::Linux::_libpthread_version = nullptr;
> 179: long os::Linux::_release_major = -1;
> 180: long os::Linux::_release_minor = -1;

Shouldn't this be named something like `_kernel_release_*`?

src/hotspot/os/linux/os_linux.cpp line 371:

> 369: }
> 370: 
> 371: void os::Linux::version_init() {

Shouldn't this be named something like `kernel_release_init`?

src/hotspot/os/linux/os_linux.cpp line 387:

> 385:     } else {
> 386:       ++walker;
> 387:     }

I can't tell if this code is correct or not.
* When is walker ever nullptr?
* Don't wee need error handling for strtol?

Maybe this is all pre-existing issues, but I'd like to get someone else to review and sign off on this code.

src/hotspot/os/linux/os_linux.hpp line 103:

> 101:     *major = _release_major;
> 102:     *minor = _release_minor;
> 103:   }

Do we really wan this function now, or could this be just plain getters?:

static long kernel_release_major() {
  return _kernel_release_major;
}
static long kernel_release_minor() {
  return _kernel_release_minor;
}

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/18592#discussion_r1555455505
PR Review Comment: https://git.openjdk.org/jdk/pull/18592#discussion_r1555460578
PR Review Comment: https://git.openjdk.org/jdk/pull/18592#discussion_r1555485956
PR Review Comment: https://git.openjdk.org/jdk/pull/18592#discussion_r1555487629


More information about the hotspot-runtime-dev mailing list