RFR: 8315923: pretouch_memory by atomic-add-0 fragments huge pages unexpectedly [v29]

Liming Liu duke at openjdk.org
Fri Jan 26 02:53:33 UTC 2024


On Thu, 25 Jan 2024 08:22:26 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

>> Liming Liu has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Use TestThreadGroup
>>  - Set it as default before parsing
>
> src/hotspot/os/linux/os_linux.cpp line 2972:
> 
>> 2970:                           ", %d) failed; error='%s' (errno=%d)",
>> 2971:                           p2i(first), len, MADV_POPULATE_WRITE,
>> 2972:                           os::strerror(err), err);
> 
> What other things can go wrong here beside missing kernel support?
> 
> Unconditional log output (with log_warning) is tricky. Many tools parse the JVM output and are thrown off by unexpected content. That's why we restrict log_warning to the small band of "stuff that can go wrong at a customer but it is so severe we really need to tell the customer right now".
> 
> Stuff that should never go wrong should be assert()ed, or possibly guarantee()'d.
> 
> Stuff that can go wrong but is not as severe, should be warned about at a lower level. 
> 
> In this case, output may get flooded with warnings if we continue running the VM and repeat the pretouch attempts with other areas.

There are some cases shown in madvise_populate at linux/mm/madvise.c. But I'm not sure how to trigger them. So I would decrease the log level here.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15781#discussion_r1467176397


More information about the hotspot-runtime-dev mailing list