RFR (S) Improve UseLargePages support

Roman Kennke rkennke at redhat.com
Wed Oct 12 08:18:09 UTC 2016


Looks alright!

Roman

Am Dienstag, den 11.10.2016, 17:07 +0200 schrieb Aleksey Shipilev:
> Hi,
> 
> I took a brief look at what Shenandoah does with large pages
> (-XX:+UseLargePages). It seems we are already covered for the heap
> part,
> because the shared code already allocates it with large pages when
> requested.
> 
> We only shall do a few minor touchups:
>  a) Allow pretouch to touch with larger steps, since pages are larger
> --
> this improves -XX:+AlwaysPreTouch performance even further;
>  b) Make sure the region sizes are at least one page, otherwise, in
> theory, mprotect granularity would make false alarms in our
> mprotect-based access verification code;
>  c) Make sure we allocate large bitmaps with large pages too;
> 
> All done here:
>  http://cr.openjdk.java.net/~shade/shenandoah/large-pages-fix/webrev.
> 01/
> 
> GC-heavy compiler tests are still happy:
> 
>  Benchmark           Mode  Cnt    Score   Error    Units
> 
>  # baseline, -XX:-UseLargePages
>  Compiler.compiler  thrpt   10   70.635 ± 2.289  ops/min
>  Compiler.sunflow   thrpt   10  175.764 ± 4.574  ops/min
> 
>  # patched, -XX:-UseLargePages
>  Compiler.compiler  thrpt   10   70.639 ± 2.043  ops/min
>  Compiler.sunflow   thrpt   10  175.878 ± 4.355  ops/min
> 
>  # baseline, -XX:+UseLargePages
>  Compiler.compiler  thrpt   10   73.543 ± 2.574  ops/min
>  Compiler.sunflow   thrpt   10  183.399 ± 5.432  ops/min
> 
>  # patched, -XX:+UseLargePages
>  Compiler.compiler  thrpt   10   74.739 ± 2.526  ops/min
>  Compiler.sunflow   thrpt   10  186.247 ± 5.963  ops/min
> 
> Thanks,
> -Aleksey
> 
> 


More information about the shenandoah-dev mailing list