Skip to content

8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b #325

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

Closed
wants to merge 2 commits into from

Conversation

shipilev
Copy link
Member

@shipilev shipilev commented Nov 6, 2023

Clean backport on the way to improve Atomic support in 21u.

Note @robehn ;)

Additional testing:

  • MacOS AArch64 server fastdebug, gtest:Atomic

Progress

  • Change must not contain extraneous whitespace
  • JDK-8317335 needs maintainer approval
  • JDK-8316645 needs maintainer approval
  • Commit message must refer to an issue

Issues

  • JDK-8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b (Enhancement - P4 - Approved)
  • JDK-8317335: Build on windows fails after 8316645 (Bug - P1 - Approved)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk21u.git pull/325/head:pull/325
$ git checkout pull/325

Update a local copy of the PR:
$ git checkout pull/325
$ git pull https://git.openjdk.org/jdk21u.git pull/325/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 325

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk21u/pull/325.diff

Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Nov 6, 2023

👋 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.

@shipilev
Copy link
Member Author

shipilev commented Nov 6, 2023

/issue add 8317335

@shipilev
Copy link
Member Author

shipilev commented Nov 6, 2023

This is a series of two backports, and both are clean.

/clean

@openjdk openjdk bot changed the title Backport fb055e7e5300958b2a6a290aa6783e8ede929d9a 8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b Nov 6, 2023
@openjdk
Copy link

openjdk bot commented Nov 6, 2023

This backport pull request has now been updated with issue from the original commit.

@openjdk openjdk bot added the backport Port of a pull request already in a different code base label Nov 6, 2023
@openjdk
Copy link

openjdk bot commented Nov 6, 2023

@shipilev
Adding additional issue to issue list: 8317335: Build on windows fails after 8316645.

@openjdk openjdk bot added the clean Identical backport; no merge resolution required label Nov 6, 2023
@openjdk
Copy link

openjdk bot commented Nov 6, 2023

@shipilev This backport pull request is now marked as clean

@shipilev shipilev marked this pull request as ready for review November 6, 2023 14:11
@shipilev
Copy link
Member Author

shipilev commented Nov 6, 2023

/approval request 8316645 Clean backport on the way to improve Atomic support in 21u. A series of two commits, the last one fixes a trivial build error.
/approval request 8317335 Clean backport on the way to improve Atomic support in 21u. A series of two commits, the last one fixes a trivial build error.

@openjdk
Copy link

openjdk bot commented Nov 6, 2023

⚠️ @shipilev This change is now ready for you to apply for maintainer approval. This can be done directly in each associated issue or by using the /approval command.

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

openjdk bot commented Nov 6, 2023

@shipilev
8316645: The approval request has been created successfully.
8317335: The approval request has been created successfully.

@openjdk
Copy link

openjdk bot commented Nov 6, 2023

@shipilev
8316645: The approval request has been updated successfully.
8317335: The approval request has been updated successfully.

@openjdk openjdk bot added the approval Requires approval; will be removed when approval is received label Nov 6, 2023
@mlbridge
Copy link

mlbridge bot commented Nov 6, 2023

Webrevs

Copy link
Contributor

@robehn robehn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@openjdk
Copy link

openjdk bot commented Nov 8, 2023

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

8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b
8317335: Build on windows fails after 8316645

Reviewed-by: rehn

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

  • 421bf8a: 8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit
  • 337271f: 8317920: JDWP-agent sends broken exception event with onthrow option
  • 4cf572e: 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux

Please see this link for an up-to-date comparison between the source branch of this pull request and the master branch.
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 ready Pull request is ready to be integrated and removed approval Requires approval; will be removed when approval is received labels Nov 8, 2023
@shipilev
Copy link
Member Author

shipilev commented Nov 8, 2023

/integrate

@openjdk
Copy link

openjdk bot commented Nov 8, 2023

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

  • eb8267d: 8316585: [REDO] runtime/InvocationTests spend a lot of time on dependency verification
  • 31c759d: 8315362: NMT: summary diff reports threads count incorrectly
  • 6bd2c5a: 8318474: Fix memory reporter for thread_count
  • 7091631: 8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc
  • 421bf8a: 8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit
  • 337271f: 8317920: JDWP-agent sends broken exception event with onthrow option
  • 4cf572e: 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Nov 8, 2023
@openjdk openjdk bot closed this Nov 8, 2023
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Nov 8, 2023
@openjdk
Copy link

openjdk bot commented Nov 8, 2023

@shipilev Pushed as commit 50c34ca.

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

@shipilev shipilev deleted the JDK-8316645-riscv-atomic branch November 28, 2023 17:21
@robehn
Copy link
Contributor

robehn commented Mar 7, 2024

/backport jdk11u-dev

@openjdk
Copy link

openjdk bot commented Mar 7, 2024

@robehn Could not automatically backport 50c34cad to openjdk/jdk11u-dev due to conflicts in the following files:

  • make/autoconf/libraries.m4
  • src/hotspot/os_cpu/linux_riscv/atomic_linux_riscv.hpp
  • test/hotspot/gtest/runtime/test_atomic.cpp

Please fetch the appropriate branch/commit and manually resolve these conflicts by using the following commands in your personal fork of openjdk/jdk11u-dev. Note: these commands are just some suggestions and you can use other equivalent commands you know.

# Fetch the up-to-date version of the target branch
$ git fetch --no-tags https://git.openjdk.org/jdk11u-dev.git master:master

# Check out the target branch and create your own branch to backport
$ git checkout master
$ git checkout -b backport-robehn-50c34cad

# Fetch the commit you want to backport
$ git fetch --no-tags https://git.openjdk.org/jdk21u.git 50c34cad95222c0330b31327cdc5becf56f77f71

# Backport the commit
$ git cherry-pick --no-commit 50c34cad95222c0330b31327cdc5becf56f77f71
# Resolve conflicts now

# Commit the files you have modified
$ git add files/with/resolved/conflicts
$ git commit -m 'Backport 50c34cad95222c0330b31327cdc5becf56f77f71'

Once you have resolved the conflicts as explained above continue with creating a pull request towards the openjdk/jdk11u-dev with the title Backport 50c34cad95222c0330b31327cdc5becf56f77f71.

Below you can find a suggestion for the pull request body:

Hi all,

This pull request contains a backport of commit 50c34cad from the openjdk/jdk21u repository.

The commit being backported was authored by Aleksey Shipilev on 8 Nov 2023 and was reviewed by Robbin Ehn.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport Port of a pull request already in a different code base clean Identical backport; no merge resolution required integrated Pull request has been integrated
Development

Successfully merging this pull request may close these issues.

2 participants