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