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