[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-runtime-dev
Subject:    Integrated: 8315923: pretouch_memory by atomic-add-0 fragments huge pages unexpectedly
From:       Liming Liu <duke () openjdk ! org>
Date:       2024-01-26 16:45:49
Message-ID: KqInxe5l8u50r783ePI7n7NPlfW1gStz3YgZH3xHX-k=.da4b0ff3-bec8-4e4b-80c4-44d877fc7fe1 () github ! com
[Download RAW message or body]

On Mon, 18 Sep 2023 07:37:26 GMT, Liming Liu <duke@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>

This pull request has now been integrated.

Changeset: a65a8952
Author:    Liming Liu <limingliu@os.amperecomputing.com>
Committer: Thomas Stuefe <stuefe@openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/a65a89522d2f24b1767e1c74f6689a22ea32ca6a
                
Stats:     214 lines in 10 files changed: 199 ins; 7 del; 8 mod

8315923: pretouch_memory by atomic-add-0 fragments huge pages unexpectedly

Reviewed-by: jsjolen, stuefe

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

PR: https://git.openjdk.org/jdk/pull/15781


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic