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

Refactor - ExtractedPrograms #34205

Merged
merged 3 commits into from
Nov 23, 2023

Conversation

Lichtso
Copy link
Contributor

@Lichtso Lichtso commented Nov 22, 2023

Problem

Preparation for #33715.

Summary of Changes

  • Puts ExtractedPrograms into Arc<Mutex<>> because when TX batches cooperate they need to access each others results in order to complete them.
  • Merges ExtractedPrograms::missing and ExtractedPrograms::unloaded to deduplicate code paths.
  • Unifies missing entry insertion in LoadedPrograms::extract(), so that there is one point where in a subsequent PR we could check if another TX batch is already loading the missing entry.

@Lichtso Lichtso changed the title Refactor - program loading Refactor - ExtractedPrograms Nov 22, 2023
Copy link

codecov bot commented Nov 22, 2023

Codecov Report

Merging #34205 (f354941) into master (53c723a) will decrease coverage by 0.1%.
The diff coverage is 98.4%.

Additional details and impacted files
@@            Coverage Diff            @@
##           master   #34205     +/-   ##
=========================================
- Coverage    81.9%    81.9%   -0.1%     
=========================================
  Files         819      819             
  Lines      219425   219338     -87     
=========================================
- Hits       179854   179724    -130     
- Misses      39571    39614     +43     

@Lichtso Lichtso merged commit 4ee5078 into solana-labs:master Nov 23, 2023
32 checks passed
@Lichtso Lichtso deleted the refactor/program_loading branch November 23, 2023 08:17
@Lichtso Lichtso added the v1.17 PRs that should be backported to v1.17 label Dec 7, 2023
Copy link
Contributor

mergify bot commented Dec 7, 2023

Backports to the beta branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. Exceptions include CI/metrics changes, CLI improvements and documentation updates on a case by case basis.

mergify bot pushed a commit that referenced this pull request Dec 7, 2023
* Puts ExtractedPrograms into Arc<Mutex<>>.

* Merges ExtractedPrograms::missing and ExtractedPrograms::unloaded.

* Unifies missing entry insertion in LoadedPrograms::extract().

(cherry picked from commit 4ee5078)
Lichtso added a commit that referenced this pull request Dec 14, 2023
* Puts ExtractedPrograms into Arc<Mutex<>>.

* Merges ExtractedPrograms::missing and ExtractedPrograms::unloaded.

* Unifies missing entry insertion in LoadedPrograms::extract().

(cherry picked from commit 4ee5078)
Lichtso added a commit that referenced this pull request Dec 14, 2023
Refactor - `ExtractedPrograms` (#34205)

* Puts ExtractedPrograms into Arc<Mutex<>>.

* Merges ExtractedPrograms::missing and ExtractedPrograms::unloaded.

* Unifies missing entry insertion in LoadedPrograms::extract().

(cherry picked from commit 4ee5078)

Co-authored-by: Alexander Meißner <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v1.17 PRs that should be backported to v1.17
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants