JDK-6440724 : 1.5.0: CMS: misleading preclean and abortable preclean statistics
Type:Bug
Component:hotspot
Sub-Component:gc
Affected Version:5.0u6,6
Priority:P3
Status:Resolved
Resolution:Fixed
OS:generic
CPU:generic
Submitted:2006-06-20
Updated:2014-02-24
Resolved:2006-08-09
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
SUGGESTED FIX
Archived data: /net/prt-archiver.sfbay/data/archived_workspaces/1.5/tiger_update9_baseline/2006/20060727104049.asaha.hotspot/
Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/1.5/tiger_update9_baseline/2006/20060727104049.asaha.hotspot/workspace/webrevs/webrev-2006.07.27/index.html
Webrev: http://jpsesvr.sfbay.sun.com:8080/ctetools/CodeStore/1875/webrev/webrev.html
======================================
Fixed 6440724: 1.5.0: CMS: misleading preclean and abortable preclean statistics [###@###.###,###@###.###,###@###.###
Brief Description of the problem being fixed :
The precleaning timing stats are misleading because of a bug in the use of timers.
This came to light during some recent performance tuning work for an important
client.
Platform affected : ALL
Does this fix need Forward ported ? NO
Fixed by : ###@###.###
Backported by : ###@###.###
Putback by : ###@###.###
Code Reviewed by (2 reviewers required) : ###@###.###,###@###.###,###@###.###
Is this fix for a JPSE introduced regression ? NO
Is the testcase(if available) provided for the regression testbase ? NO
Has this fix been verified by customer(s) ? NA
Test information :
On Windows or Linux run:
java -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:CMSInitiatingOccupancyFraction=2 ...
(for example, jbb) will show correct (non-zero) precleaning times; previously
you'd see precleaning times of zero.
27-07-2006
EVALUATION
The fix was made in Mustang a while back as part of normal Mustang
development but was not backported because of process oversight.
20-06-2006
SUGGESTED FIX
Change the following:
2965 CMSPhaseAccounting(this, "preclean");
to:
2965 CMSPhaseAccounting pa(this, "preclean");
and similarly for the following:
2991 CMSPhaseAccounting(this, "abortable-preclean");
to
2991 CMSPhaseAccounting pa(this, "abortable-preclean");
The first change above also applies to the 1.4.2 code
base and should be fixed in 1.4.2_13, see subCR.