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

increase max atomic size to 16 on 64-bit platforms #42268

Merged
merged 2 commits into from
Mar 9, 2024
Merged

Conversation

vtjnash
Copy link
Member

@vtjnash vtjnash commented Sep 15, 2021

I expect this to do very poorly on CI, but the goal is to see how badly.

Closes #41280

@vtjnash
Copy link
Member Author

vtjnash commented Sep 16, 2021

So win32 & win64 are missing the libatomic functions for this, and on linux32, llvm generates a call to the wrong function. Elsewhere it worked, but we've got some bad text in one of the error messages:

Test Failed at /buildworker/worker/tester_linuxaarch64/build/share/julia/test/intrinsics.jl:195
  Expression: Core.Intrinsics.atomic_pointermodify(p, swap, S(1), :sequentially_consistent)
    Expected: ErrorException("atomic_pointermodify: invalid pointer for atomic operation")
      Thrown: TypeError(:atomic_pointermodifytyped_store, "", Int128, 0x00000001)

@vtjnash
Copy link
Member Author

vtjnash commented Feb 14, 2024

Pleasing to see here that most of the tests that fail are the ones that check specifically whether this is supported yet. The i686 error is still present though:

      From worker 13:	JIT session error: Symbols not found: [ __sync_val_compare_and_swap_16, __sync_lock_test_and_set_16 ]

@vtjnash vtjnash changed the title increase max atomic size to 16 increase max atomic size to 16 on 64-bit platforms Mar 7, 2024
@vtjnash vtjnash added merge me PR is reviewed. Merge when all tests are passing atomics labels Mar 7, 2024
@vtjnash vtjnash marked this pull request as ready for review March 7, 2024 19:34
@IanButterworth IanButterworth merged commit 39f141d into master Mar 9, 2024
5 of 7 checks passed
@IanButterworth IanButterworth deleted the jn/atomic16 branch March 9, 2024 18:41
@oscardssmith oscardssmith added performance Must go faster and removed merge me PR is reviewed. Merge when all tests are passing labels Mar 9, 2024
mkitti pushed a commit to mkitti/julia that referenced this pull request Apr 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

128 bit atomic load uses a lock
4 participants