RFR: 8315923: pretouch_memory by atomic-add-0 fragments huge pages unexpectedly [v7]
Liming Liu
duke at openjdk.org
Fri Oct 20 05:54:06 UTC 2023
> 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 refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:
Make the jtreg test check the usage of THP
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/15781/files
- new: https://git.openjdk.org/jdk/pull/15781/files/07d1326b..ed2c9da7
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=15781&range=06
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=15781&range=05-06
Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/15781.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/15781/head:pull/15781
PR: https://git.openjdk.org/jdk/pull/15781
More information about the hotspot-runtime-dev
mailing list