RFR (S): 8059758: Startup benchmark performance and footprint regressions with JDK-8038423
Jesper Wilhelmsson
jesper.wilhelmsson at oracle.com
Mon Oct 6 12:23:27 UTC 2014
Looks good!
Maybe add a comment about why the newly added argument is not used in
G1RegionMappingChangedListener::on_commit()
and
G1SATBCardTableLoggingModRefBSChangedListener::on_commit()
Thanks!
/Jesper
Thomas Schatzl skrev 6/10/14 13:48:
> Hi all,
>
> can I have reviews for the following change that allows lazy
> initialization of G1 auxiliary data structures again to remove a
> footprint and performance regression for startup benchmarks with G1?
>
> The problem is that with recent changes that allowed G1 to decommit
> regions within the heap freely, the VM always initialized associated
> auxiliary data structures (BOT, card table, mark bitmaps).
>
> This works somewhat against OSes lazy initialization of committed pages
> where they are actually only backed by physical memory on the first
> access.
>
> These startup benchmarks never actually use this memory because they are
> so simple, so this causes performance and footprint regression with the
> mentioned change.
>
> This fix fixes these regressions by passing around information to the
> various notifications whether the recently committed memory can be
> considered already zero or not, and skips the data structure
> initialization if possible (i.e. if the reset values equal the default
> initialization values of newly committed pages).
>
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8059758/webrev/
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8059758
> Testing:
> jprt, startup benchmarks
>
> Thanks,
> Thomas
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20141006/580131c9/attachment.htm>
More information about the hotspot-gc-dev
mailing list