New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8244505: G1 pause time ratio calculation does not consider Remark/Cleanup pauses #183
Conversation
|
@walulyai The following label will be automatically applied to this pull request: When this pull request is ready to be reviewed, an RFR email will be sent to the corresponding mailing list. If you would like to change these labels, use the |
Webrevs
|
Mailing list message from Thomas Schatzl on hotspot-gc-dev: Hi Ivan, On 15.09.20 15:57, Ivan Walulya wrote:
Initial comments: - please remove the trivial cleanups from this change and do them in a This includes at least the hunks in None of these locations have anything to do with actual pause time ratio - I would also almost prefer if the pre-existing bug in - Please rename G1Policy::update_pause_time_stats() to something more Will keep looking. Thanks, |
Thanks @tschatzl for the initial comments, I will split the changes. |
Mailing list message from Thomas Schatzl on hotspot-gc-dev: Hi Ivan, On 15.09.20 19:29, Ivan Walulya wrote:
Thanks. - I'm worried that the assignment of "update_stats" in - update_gc_pause_time_ratios() does not need to be public afaict - I'm okay that now full gcs are considered in the pause time ratio One concern I have are full gcs caused by System.gc() calls - one of I think the previous (undocumented) exclusion of all full gcs has been Ivan, what do you think? - I think the change in G1Analytics::compute_pause_time_ratios() is double long_interval_ms = (end_time_sec - wrong, or even worse than the current calculation. Sorry for not being Let's assume that we have the following pauses on the timeline in XXX1-----XX2---XXX3---------XXXX4---XXXXXX5--------XX6 ^--------------long_interval_ms-------------------^ (optimized for fixed font view) Currently oldest_known_gc_end_time_sec() is at the end of pause 1, and Now the (existing) calculation calculates "long_interval_ms" from the With that change, the dividend is too large, i.e. in addition to taking Maybe this could be fixed somehow? Unless it's a very small fix (or I'm Thanks, |
Will create a helper function to sync usage of 'update_stats'
Right, this will be change
Right, Full-gcs were excluded from the compute_pause_time_ratios immediately after the full-gc, but not from the successive computations. Bug/Enhancement will be filed.
Right, I will revert to the previous version, and file a bug to fix this separately.
|
@walulyai This change now passes all automated pre-integration checks. In addition to the automated checks, the change must also fulfill all project specific requirements After integration, the commit message will be:
Since the source branch of this PR was last updated there have been 53 commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid automatic rebasing, please merge As you do not have Committer status in this projectan existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@tschatzl, @kstefanj) but any other Committer may sponsor as well.
|
Mailing list message from Thomas Schatzl on hotspot-gc-dev: Hi, On 16.09.20 15:17, Ivan Walulya wrote:
The comment at the declaration of G1Policy::should_update_gc_stats() is You could move it there if you want. Also thanks for catching the issue with "*1000*0", I forgot to mention Lgtm. Thanks. Thomas |
I agree, will move it.
Thanks Thomas, |
/reviewers 2 |
@walulyai |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
/integrate |
/sponsor |
@tschatzl @walulyai Since your change was applied there have been 53 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit 86a1640. |
The computation for long and short term pause time ratios does not include Remark/Cleanup pause times. Isolate updates to _prev_collection_pause_end_ms from update_recent_gc_times(), then have all gc pauses (including Remark/Cleanup) recorded by update_recent_gc_times(). Patch also includes trivial clean ups to g1Policy.* files.
Testing: Tier 1 - 7
Performance testing did not show any significant changes in performance
Progress
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jdk pull/183/head:pull/183
$ git checkout pull/183