-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8354284: Add more compiler test folders to tier1 runs #24817
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
8354284: Add more compiler test folders to tier1 runs #24817
Conversation
👋 Welcome back mchevalier! A progress list of the required criteria for merging this PR into |
@marc-chevalier 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 215 new 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 this automatic rebasing, please check the documentation for the /integrate command for further details. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@chhagedorn, @vnkozlov) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
@marc-chevalier 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 /label pull request command. |
/label add hotspot-compiler |
@marc-chevalier |
Webrevs
|
The tier3_compiler includes all tests that are not in tier1 and tier2. The goal is to keep tier1 minimal. Tier1 shouldn't include long tests. |
Before: It seems not to increase by more than the existing fluctuations. Also, I think it's not quite as simple as this. It's rather a tradeoff between tier1 should be minimal in duration, while being maximal in coverage. A tier1 that doesn't cover some topics is not as useful. Some of these folders should have always been in tier1: they are just a more meaningful classification than stuffing everything in a generically named folder, but the group definition was mistakenly not updated back then. This PR is adding only 39 files. There is one with custom timeout: |
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 to me and I agree that the proposed tests should always have been in tier1 for the laid out reasons above.
It seems not to increase by more than the existing fluctuations.
Thanks for double-checking!
predicates/TestCloningWithManyDiamondsInExpression.java
with a timeout of 30
A lower than standard timeout is always fine. I originally added this test which was stuck in an endless loop before the fix. I put a lower than standard timeout there because I wanted to make sure it's now finishing quickly.
I couldn't find where the standard timeout is specified. How much is it? And maybe, where I could have found it? |
At some point I've run into the default timeout by specifying flags that are too slow. It is set to 120s. I quickly checked the jtreg FAQ. It can also be found there (link):
|
I looked through testing logs on slowest machine
|
Rather than simply removing the test from tier1, can we make it faster? (spoiler: yes). There are two big slow things:
With these improvements, this test is doing much better! Running this test alone in testing takes only 1h18 of machine time when it used to take 2h30. The longer duration of a single result passed from 40s to 8s. I think with these changes, the test is still meaningful and is short enough for tier1. If you agree, I can push this tiny fix. |
Based on run's output times this add only 2 sec. I agree to reduce number of iterations (may be 100) but not complete remove it.
I would not do that. First compilation of |
I thought so too, but actually, |
I've pushed the suggested change. The test still passes, longest result was 12s, from 40s without fix, 8s with my more radical fix: so it's still a big improvement. |
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.
Good.
/integrate Thanks @lmesnik @vnkozlov and @chhagedorn for comments and reviews! |
@marc-chevalier |
/sponsor |
Going to push as commit 69d0f7a.
Your commit was automatically rebased without conflicts. |
@chhagedorn @marc-chevalier Pushed as commit 69d0f7a. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Some folders in jtreg/compiler have been reported not to be run in any tier, while tier1 was probably intended, but the tier definition was mistakenly not updated. I've checked which folders are not referenced into
TEST.groups
.The unmentioned ones:
ccp
ciReplay
ciTypeFlow
compilercontrol
debug
oracle
predicates
print
relocations
sharedstubs
splitif
tiered
whitebox
And those, that are not test folders:
lib
patches
testlibraries
I'm adding
ccp
,ciTypeFlow
,predicates
,sharedstubs
andsplitif
to tier1.The other folders seems to have been around for very long (since at least mid-2021). It's not clear how meaningful it'd be to add them/what the intent from them was. I've rather focused on the recently(-ish) added folders, that one forgot to put in a tier when adding it.
Feel free to tell if other folders should be included (and in which tier).
Thanks,
Marc
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/24817/head:pull/24817
$ git checkout pull/24817
Update a local copy of the PR:
$ git checkout pull/24817
$ git pull https://git.openjdk.org/jdk.git pull/24817/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 24817
View PR using the GUI difftool:
$ git pr show -t 24817
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/24817.diff
Using Webrev
Link to Webrev Comment