Skip to content
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

8278016: Add compiler tests to tier{2,3} #6622

Closed
wants to merge 2 commits into from

Conversation

shipilev
Copy link
Member

@shipilev shipilev commented Nov 30, 2021

I have been looking at hotspot:tier4 (catch-all not in lower tiers) run logs, and realized the whole bunch of compiler tests are running there.

Since hotspot:tier4 runs a lot of vmTestbase tests, contributors seldom run it, as it takes many hours. Which means that many compiler tests are not running regularly for many contributors. But these tests are rather fast themselves and cover important compiler features.

We can properly add compiler tests to tier{2,3} to expose them on earlier tiers. The split logic between tiers is roughly: fast feature tests go into tier2, slower feature tests and debugging/printing stuff goes to tier3.

Sample times for new subgroups (think about this as "How much time they add to existing tiers"):

==============================
Test summary
==============================
   TEST                                              TOTAL  PASS  FAIL ERROR   
   jtreg:test/hotspot/jtreg:tier2_compiler             243   243     0     0   
==============================

real	2m16.518s
user	35m40.839s
sys	1m35.334s

==============================
Test summary
==============================
   TEST                                              TOTAL  PASS  FAIL ERROR   
   jtreg:test/hotspot/jtreg:tier3_compiler             132   132     0     0   
==============================

real	4m31.935s
user	71m54.617s
sys	2m13.073s

Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6622/head:pull/6622
$ git checkout pull/6622

Update a local copy of the PR:
$ git checkout pull/6622
$ git pull https://git.openjdk.java.net/jdk pull/6622/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 6622

View PR using the GUI difftool:
$ git pr show -t 6622

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6622.diff

@bridgekeeper
Copy link

bridgekeeper bot commented Nov 30, 2021

👋 Welcome back shade! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot added the rfr Pull request is ready for review label Nov 30, 2021
@openjdk
Copy link

openjdk bot commented Nov 30, 2021

@shipilev The following label will be automatically applied to this pull request:

  • hotspot

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.

@openjdk openjdk bot added the hotspot hotspot-dev@openjdk.org label Nov 30, 2021
@mlbridge
Copy link

mlbridge bot commented Nov 30, 2021

Webrevs

@shipilev
Copy link
Member Author

/label hotspot-compiler

@openjdk openjdk bot added the hotspot-compiler hotspot-compiler-dev@openjdk.org label Nov 30, 2021
@openjdk
Copy link

openjdk bot commented Nov 30, 2021

@shipilev
The hotspot-compiler label was successfully added.

@shipilev shipilev mentioned this pull request Nov 30, 2021
6 tasks
Copy link
Contributor

@vnkozlov vnkozlov left a 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.

@openjdk
Copy link

openjdk bot commented Nov 30, 2021

@shipilev 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:

8278016: Add compiler tests to tier{2,3}

Reviewed-by: kvn, dholmes

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 59 new commits pushed to the master branch:

  • 09522db: 8277647: [REDO] JDK-8277507 Add jlink.debug system property while launching jpackage tests to help diagonize recent intermittent failures
  • 67745fa: 8276299: G1: Unify the wording buffer/node/element in G1SegmentedArrayXxx, G1CardSetXxx and related classes
  • 51d6d7a: 8266839: Enable pandoc on macosx-aarch64 at Oracle
  • 0dfb3a7: 8268582: javadoc throws NPE with --ignore-source-errors option
  • f41e768: 8277762: Allow configuration of HOTSPOT_BUILD_USER
  • a363b7b: 8177819: DateTimeFormatterBuilder zone parsing should recognise DST
  • 9b3e672: 8278014: [vectorapi] Remove test run script
  • 1e9ed54: 8193682: Infinite loop in ZipOutputStream.close()
  • abaa073: 8277946: NMT: Deprecate and remove VM.native_memory shutdown jcmd command option
  • 37ff7f3: 8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size
  • ... and 49 more: https://git.openjdk.java.net/jdk/compare/c3a7f2f4bce9170c1630e01eebd4fcd174b44964...master

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.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready Pull request is ready to be integrated label Nov 30, 2021
@dholmes-ora
Copy link
Member

@shipilev again I think we need to examine this in terms of impact to our CI. We run different platforms and configurations in different tiers so the costs are not as simple as looking at one run.

Thanks,
David

@shipilev
Copy link
Member Author

shipilev commented Dec 1, 2021

@shipilev again I think we need to examine this in terms of impact to our CI. We run different platforms and configurations in different tiers so the costs are not as simple as looking at one run.

Again, I can wait for those who have more insight in Oracle testing pipelines check their workflows with this change. I have no insight in Oracle infra, so somebody else have to do it. Now that Igor left, who should we be talking to?

@vnkozlov
Copy link
Contributor

vnkozlov commented Dec 1, 2021

@shipilev again I think we need to examine this in terms of impact to our CI. We run different platforms and configurations in different tiers so the costs are not as simple as looking at one run.

Again, I can wait for those who have more insight in Oracle testing pipelines check their workflows with this change. I have no insight in Oracle infra, so somebody else have to do it. Now that Igor left, who should we be talking to?

@dholmes-ora I checked and this change does not interfere with our CI. tier2 and tier3 introduced by #5241 are not used by our CI. New tier2_compiler and tier3_compiler groups are also not used. We use different sets in CI. I am not sure how else it can affect our testing.

I also submitted our testing. I will let you know results.

@dholmes-ora
Copy link
Member

@vnkozlov thanks for that! I didn't realize the HS testing was so isolated from the jtreg group definitions.

Thanks for your patience @shipilev .

@vnkozlov
Copy link
Contributor

vnkozlov commented Dec 2, 2021

I don't see issues with these changes in my testing. I submitted our tier1,2,3 testing in internal infra.

@shipilev
Copy link
Member Author

shipilev commented Dec 5, 2021

I don't see issues with these changes in my testing. I submitted our tier1,2,3 testing in internal infra.

Vladimir, are internal infra results good?

@vnkozlov
Copy link
Contributor

vnkozlov commented Dec 5, 2021

Yes, all passed. You can integrate.

@shipilev
Copy link
Member Author

shipilev commented Dec 6, 2021

Thank you!

/integrate

@openjdk
Copy link

openjdk bot commented Dec 6, 2021

Going to push as commit f180a45.
Since your change was applied there have been 124 commits pushed to the master branch:

  • 104aa1f: 8268575: Annotations not visible on model elements before they are generated
  • 839b606: 8278143: Remove unused "argc" from ConstantPool::copy_bootstrap_arguments_at_impl
  • 267c024: 8265150: AsyncGetCallTrace crashes on ResourceMark
  • 9642629: 8276779: (ch) InputStream returned by Channels.newInputStream should have fast path for SelectableChannels
  • 02ee337: 8278175: Enable all doclint warnings for build of java.desktop
  • 24e16ac: 8277617: Adjust AVX3Threshold for copy/fill stubs
  • 2b87c2b: 8277793: Support vector F2I and D2L cast operations for X86
  • e1cde19: 8278247: KeyStoreSpi::engineGetAttributes does not throws KeyStoreException
  • a729a70: 8225181: KeyStore should have a getAttributes method
  • 38f525e: 8275821: Optimize random number generators developed in JDK-8248862 using Math.unsignedMultiplyHigh()
  • ... and 114 more: https://git.openjdk.java.net/jdk/compare/c3a7f2f4bce9170c1630e01eebd4fcd174b44964...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot closed this Dec 6, 2021
@openjdk openjdk bot added integrated Pull request has been integrated and removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Dec 6, 2021
@openjdk
Copy link

openjdk bot commented Dec 6, 2021

@shipilev Pushed as commit f180a45.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@shipilev shipilev deleted the JDK-8278016-compiler-tier23 branch December 20, 2021 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hotspot hotspot-dev@openjdk.org hotspot-compiler hotspot-compiler-dev@openjdk.org integrated Pull request has been integrated
3 participants