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
removes CowCachedExecutors #22343
removes CowCachedExecutors #22343
Conversation
Copy-on-write semantics for cached executors can be implemented by a simple Arc<CachedExecutors> as opposed to CowCachedExecutors: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L244-L247 This will also avoid the need for double locking as in: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3490-L3491 https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3525-L3526
Codecov Report
@@ Coverage Diff @@
## master #22343 +/- ##
=======================================
Coverage 81.0% 81.0%
=======================================
Files 551 551
Lines 149806 149776 -30
=======================================
- Hits 121476 121466 -10
+ Misses 28330 28310 -20 |
Does this prevent two bank forks from poisoning each other? |
yes, |
True, yeah, awesome! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Much better
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm! Kinda tangential to the eviction improvements we're trying to fast-track though. Should we hold off until those are in and a release cut?
I think it makes the code simpler and might help with follow up improvements. |
Copy-on-write semantics for cached executors can be implemented by a simple Arc<CachedExecutors> as opposed to CowCachedExecutors: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L244-L247 This will also avoid the need for double locking as in: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3490-L3491 https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3525-L3526 (cherry picked from commit c2389fc) # Conflicts: # runtime/src/bank.rs
Copy-on-write semantics for cached executors can be implemented by a simple Arc<CachedExecutors> as opposed to CowCachedExecutors: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L244-L247 This will also avoid the need for double locking as in: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3490-L3491 https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3525-L3526 (cherry picked from commit c2389fc)
Copy-on-write semantics for cached executors can be implemented by a simple Arc<CachedExecutors> as opposed to CowCachedExecutors: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L244-L247 This will also avoid the need for double locking as in: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3490-L3491 https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3525-L3526 (cherry picked from commit c2389fc) Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* removes CowCachedExecutors (#22343) Copy-on-write semantics for cached executors can be implemented by a simple Arc<CachedExecutors> as opposed to CowCachedExecutors: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L244-L247 This will also avoid the need for double locking as in: https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3490-L3491 https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3525-L3526 (cherry picked from commit c2389fc) # Conflicts: # runtime/src/bank.rs * removes backport merge conflicts Co-authored-by: behzad nouri <behzadnouri@gmail.com>
@t-nelson backports now merged in. |
Problem
Copy-on-write semantics for cached executors can be implemented by a
simple
Arc<CachedExecutors>
as opposed toCowCachedExecutors
:https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L244-L247
This will also avoid the need for double locking as in:
https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3490-L3491
https://github.com/solana-labs/solana/blob/f1e2598ba/runtime/src/bank.rs#L3525-L3526
Summary of Changes
CowCachedExecutors
.