8294850: Make rs length/pending card predictors dependent on gc phase#10650
8294850: Make rs length/pending card predictors dependent on gc phase#10650tschatzl wants to merge 6 commits intoopenjdk:masterfrom
Conversation
|
👋 Welcome back tschatzl! A progress list of the required criteria for merging this PR into |
albertnetymk
left a comment
There was a problem hiding this comment.
diff/pending_cards/rs_length are more or less duplicated for young/mixed. I wonder if it's cleaner to encapsulate them in one data structure.
| size_t G1Analytics::predict_pending_cards() const { | ||
| return predict_size(_pending_cards_seq); | ||
| size_t G1Analytics::predict_pending_cards(bool for_young_gc) const { | ||
| if (for_young_gc || !enough_samples_available(_young_pending_cards_seq)) { |
There was a problem hiding this comment.
Why _young_pending_cards_seq? I'd expect _mixed_rs_length_seq just to match its neighbor.
There was a problem hiding this comment.
Typo from breaking up the big patch I had. Good catch! The correct sequence is _mixed_pending_cards_seq though.
I also considered this, but There are a few others though already. What about doing that separately as cleanup? |
|
The parent pull request that this pull request depends on has now been integrated and the target branch of this pull request has been updated. This means that changes from the dependent pull request can start to show up as belonging to this pull request, which may be confusing for reviewers. To remedy this situation, simply merge the latest changes from the new target branch into this pull request by running commands similar to these in the local repository for your personal fork: git checkout submit/8294850-gc-type-rs-length-predictor
git fetch https://git.openjdk.org/jdk master
git merge FETCH_HEAD
# if there are conflicts, follow the instructions given by git merge
git commit -m "Merge master"
git push |
|
@tschatzl this pull request can not be integrated into git checkout submit/8294850-gc-type-rs-length-predictor
git fetch https://git.openjdk.org/jdk master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push |
|
@tschatzl This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be: You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been no new commits pushed to the ➡️ To integrate this PR with the above commit message to the |
|
Thanks @albertnetymk @walulyai @kimbarrett for your reviews |
Hi all,
can I have reviews for this change that separates
rs_lengthandpending_cardspredictors by young phase?Some notes:
xxx_diffandxxxpredictors and adding them together is kind of weird, imho trying to add a kind of prediction compensation/improvement to act on differences like a (PID-)controller. I also strongly suspect that thexxx_diffpredictors ought to be allowed to report negative values. This is no attempt to fix thisfor_young_gcin the analytics API is misnamed. It's not about young gcs, but young_only_phase - I will fix this in a follow-upDepends on PR#10649, please review that one first.
Thanks,
Thomas
Testing: gha, local testing, tier1-5 with other changes in this patch series, perf testing with other changes in this patch series
Progress
Issue
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/10650/head:pull/10650$ git checkout pull/10650Update a local copy of the PR:
$ git checkout pull/10650$ git pull https://git.openjdk.org/jdk pull/10650/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 10650View PR using the GUI difftool:
$ git pr show -t 10650Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/10650.diff