RFR (S): 8011891: The vm/gc/heap/heap_summary_after_gc event for CMS contains old data

Stefan Karlsson stefan.karlsson at oracle.com
Fri May 17 10:40:36 UTC 2013


Looks good.

StefanK

On 14 maj 2013, at 15:43, Erik Helin <erik.helin at oracle.com> wrote:

> Hi Bengt,
> 
> thanks for reviewing!
> 
> Based on feedback from Stefan, I've moved the check into the "if (should_compact)" branch of acquire_control_and_collect, since the call to save_heap_summary is not needed if "else" branch is chosen, since do_mark_sweep_work calls collect_in_foreground which will call save_heap_summary.
> 
> Please see new webrev at:
> http://cr.openjdk.java.net/~ehelin/8011891/webrev.01/
> 
> Thanks,
> Erik
> 
> On 05/14/2013 10:27 AM, Bengt Rutisson wrote:
>> 
>> Hi Erik,
>> 
>> Looks good!
>> 
>> Bengt
>> 
>> On 5/9/13 12:16 PM, Erik Helin wrote:
>>> Hi all,
>>> 
>>> this change makes sure that the data in
>>> vm/gc/heap/heap_summary_after_gc trace event is up-to-date for CMS.
>>> The bug happened when CMS got a concurrent mode failure and had not
>>> reached the "Resizing" phase (in collect_in_background). The heap
>>> summary data would then be the one collected in
>>> CMSCollector::checkpointRootsInitialPre which by the time of
>>> concurrent mode failure (or interrupt) could be quite old.
>>> 
>>> The solution consists of collecting the heap summary in
>>> CMSCollector::acquire_control_and_collect when checking if an
>>> background collection failed (or was interrupted).
>>> 
>>> Webrev:
>>> http://cr.openjdk.java.net/~ehelin/8011891/webrev.00/
>>> 
>>> Bug:
>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8011891
>>> 
>>> Thanks,
>>> Erik
> 



More information about the hotspot-gc-dev mailing list