RFR: 8315923: pretouch_memory by atomic-add-0 fragments huge pages unexpectedly [v12]
Thomas Stuefe
stuefe at openjdk.org
Mon Oct 30 06:49:36 UTC 2023
On Mon, 30 Oct 2023 06:20:07 GMT, Liming Liu <duke at openjdk.org> wrote:
>> As described at [JDK-8315923](https://bugs.openjdk.org/browse/JDK-8315923), this patch uses madvise with MADV_POPULATE_WRITE to pretouch memory when supported (since kernel 5.14).
>>
>> Ran the newly added jtreg test on 64c Neoverse-N1 machines with kernel 4.18, 5.13 and 6.1, and observed that transparent huge pages formed right after pretouch on kernel 6.1. Recorded the time spent on the test in *seconds* with `VERBOSE=time` as the table below, and got that the patch takes improvements when the system call is supported, while does not hurt if not supported:
>>
>> <table>
>> <tr>
>> <th>Kernel</th>
>> <th colspan="2"><tt>-XX:-TransparentHugePages</tt></th>
>> <th colspan="2"><tt>-XX:+TransparentHugePages</tt></th>
>> </tr>
>> <tr><td></td><td>Unpatched</td><td>Patched</td><td>Unpatched</td><td>Patched</td></tr>
>> <tr><td>4.18</td><td>11.30</td><td>11.30</td><td>0.25</td><td>0.25</td></tr>
>> <tr><td>5.13</td><td>0.22</td><td>0.22</td><td>3.42</td><td>3.42</td></tr>
>> <tr><td>6.1</td><td>0.27</td><td>0.33</td><td>3.54</td><td>0.33</td></tr>
>> </table>
>
> Liming Liu has updated the pull request incrementally with one additional commit since the last revision:
>
> Update the name of the method
I don't have time to look at this for now and step back to wait for others. But I don't want to hold up this patch - if there are enough reviewers that ok it, please don't wait for me.
As I wrote earlier, the patch itself is mechanically fine. The test has aspects I don't understand, and I am worried about concurrent usage of the about-to-be-pretouched area by other threads.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15781#issuecomment-1784575980
More information about the hotspot-runtime-dev
mailing list