RFR (S): 8008737: The trace event vm/gc/heap/summary is missing for CMS

Erik Helin erik.helin at oracle.com
Tue Mar 26 03:19:50 PDT 2013


I have updated the change based on internal feedback.

The changes between webrev.02 and webrev.03 are:
- Removed an unnecessary call to save_heap_summary in Initial_Mark.
- The reporting and saving of heap summary events has been split into
   two functions: save_heap_summary and report_heap_summary.

New webrev located at:


On 03/13/2013 07:35 PM, Erik Helin wrote:
> All,
> the previous two changes, webrev.00 and webrev.01, did not ensure that
> CMS collector had the heap lock when the call to capacity was being
> done. This did not cause any error during testing, but it could lead to
> strange bugs. I have therefore updated the change to take this into
> account.
> The new change, webrev.02, ensures that the heap summary data is only
> saved when the concurrent CMS collector has the heap lock. Since
> "collect_in_background" can be aborted for various reasons, the heap
> statistics are saved at three places for a concurrent CMS collection:
> 1. Initial mark
> 2. Final remark
> 3. Resizing
> The heap summary that will be sent for a concurrent CMS collection
> depend on how much progress the CMS background collector has done, the
> most recent one will always be sent.
> The same is being done for a foreground CMS collection, but then it is
> guaranteed that the heap summary will always be from the last save
> point, Resizing, since a foreground CMS collection can not be aborted.
> Please see the new webrev located at:
> http://cr.openjdk.java.net/~ehelin/8008737/webrev.02/
> Thanks,
> Erik
> On 02/24/2013 10:40 AM, Erik Helin wrote:
>> Hi all,
>> this change adds the trace event vm/gc/heap/summary to the CMS collector.
>> Webrev:
>> http://cr.openjdk.java.net/~ehelin/8008737/webrev.00/
>> Bug:
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8008737
>> Testing:
>> Thanks,
>> Erik

More information about the hotspot-gc-dev mailing list