RFR (M): 8019342: G1: High "Other" time most likely due to card redirtying

Thomas Schatzl thomas.schatzl at oracle.com
Fri Apr 11 11:33:06 UTC 2014


Hi all,

  just adding the CRs for the proposed follow-up changes:

On Fri, 2014-04-11 at 12:53 +0200, Thomas Schatzl wrote:
> Hi all,
> 
>   can I have a few reviews for the following change that parallelizes
> card redirtying and improves log output?
> 
> On a few applications card redirtying time is very large, taking tens of
> ms. Investigation showed that there are no really clever ways to avoid
> this work when keeping the current way of handling not-redirtied cards
> except parallelizing it.
> 
> I.e. the ideas referred to in the CR
> (https://bugs.openjdk.java.net/browse/JDK-8019342?focusedCommentId=13346944&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13346944) do not yield any good results to make it worth implementing these suggestions.
> 
> This CR implements parallelization by putting this work into an
> AbstractGangTask and do the work in parallel; for that I added a
> par_apply_closure_to_all_completed_buffers() method in
> DirtyCardQueueSet, claiming work on a per chunk basis. This yields
> (almost) linear speedup.
> 
> Logging code has been improved to show the number of cards processed per
> thread too.
> 
> Note that there is still some code duplication with iterating over the
> DCQS during verification: that will be fixed in a followup CR.

https://bugs.openjdk.java.net/browse/JDK-8040002

> 
> Also, at some point I will merge the various "Other" gangtasks into a
> single one to avoid startup/shutdown costs in another CR.

https://bugs.openjdk.java.net/browse/JDK-8040006

Thanks,
  Thomas




More information about the hotspot-gc-dev mailing list