Skip to content

Conversation

@kpamnany
Copy link
Collaborator

@kpamnany kpamnany commented Nov 4, 2024

PR Description

…ecompile loading (JuliaLang#56291)

Fixes _require_search_from_serialized to first acquire all start_loading locks (using a deadlock-free batch-locking algorithm) before doing stalechecks and the rest, so that all the global computations happen behind the require_lock, then the rest can happen behind module-specific locks, then (as before) extensions can be loaded in parallel eventually after require returns.

Checklist

Requirements for merging:

  • I have opened an issue or PR upstream on JuliaLang/julia: <link to JuliaLang/julia>
  • I have removed the port-to-* labels that don't apply.
  • I have opened a PR on raicode to test these changes:

…ecompile loading (JuliaLang#56291)

Fixes `_require_search_from_serialized` to first acquire all
start_loading locks (using a deadlock-free batch-locking algorithm)
before doing stalechecks and the rest, so that all the global
computations happen behind the require_lock, then the rest can happen
behind module-specific locks, then (as before) extensions can be loaded
in parallel eventually after `require` returns.
@github-actions github-actions bot added port-to-v1.10 port-to-v1.12 This change should apply to Julia v1.12 builds labels Nov 4, 2024
@kpamnany kpamnany removed the port-to-v1.12 This change should apply to Julia v1.12 builds label Nov 4, 2024
@kpamnany
Copy link
Collaborator Author

kpamnany commented Nov 5, 2024

Per upstream review, this is not backportable to 1.10 -- there will be too many data races and bugs in the loading process prior to 1.12 (might be possible to backport to 1.11).

@kpamnany kpamnany closed this Nov 5, 2024
@kpamnany kpamnany deleted the kp-backport-56291 branch December 30, 2024 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants