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