RFR (S) 8220162: Shenandoah should not commit HugeTLBFS memory
Aleksey Shipilev
shade at redhat.com
Fri Mar 8 17:30:37 UTC 2019
Bug:
https://bugs.openjdk.java.net/browse/JDK-8220162
Fix:
http://cr.openjdk.java.net/~shade/8220162/webrev.02/
This is a funny bug: technically, +UseLargePages works and allocates heap in hugetlbfs, but it
_also_ commits stuff in usual memory after that. Which was found by allocating large enough
hugetlbfs so that double-allocation fails with OOME right away. The apparent way out is to check if
we have reserved a "special" space, and skip commits then.
Unfortunately, again, constructing a reliable regression test proved hard, so I had to resort to
manual testing.
Testing: adhoc runs with HugeTLBFS enabled, hotspot_gc_shenandoah {with and without -XX:+UseLargePages}
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list