G1 young dominated by code root marking

Simone Bordet simone.bordet at gmail.com
Mon Oct 14 12:27:40 PDT 2013


Hi,

On Mon, Oct 14, 2013 at 12:12 PM, Thomas Schatzl
<thomas.schatzl at oracle.com> wrote:
> In G1, with class-unloading at concurrent mark in place and enabled this
> phase will disappear in initial-mark young GCs iirc (except for code on
> the stack; other code roots will be weak roots in this case), however
> there will be a new cleanup phase during remark :) It may be shorter
> though.

I am not sure I understood this.
Are you saying that by explicitating the class unloading option on the
command line, then code root marking will be done concurrently during
the normal marking phase ?
If so, can this be made the default ?

> Other than that I think it should be possible to make (parts of) the
> phase concurrent, but I am not sure if it is on our radar yet.

My worry is the following: the code root marking phase happens only
from time to time, and G1 has been tuned to stay within the pause
goal, and can nicely do so; but from time to time the pause goal is
exceeded by a large percentage because of code root marking.
Seems like a shame that a nicely behaving G1 exceeds the pause goal
for code root marking only.

In any case, I just wanted to give a heads up in case the issue was not known.

Thanks !

-- 
Simone Bordet
http://bordet.blogspot.com
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless.   Victoria Livschitz


More information about the hotspot-gc-use mailing list