United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-6440724 : 1.5.0: CMS: misleading preclean and abortable preclean statistics

Details
Type:
Bug
Submit Date:
2006-06-20
Status:
Resolved
Updated Date:
2014-02-24
Project Name:
JDK
Resolved Date:
2006-08-09
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
5.0u6,6
Fixed Versions:
5.0u10 (b01)

Related Reports
Backport:

Sub Tasks

Description
See comments section.

                                    

Comments
EVALUATION

The fix was made in Mustang a while back as part of normal Mustang
development but was not backported because of process oversight.
                                     
2006-06-20
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.
                                     
2006-07-27
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.
                                     
2006-06-20



Hardware and Software, Engineered to Work Together