solana-with-rpc-optimizations/runtime
Tyera Eulberg 66552d7047
Credit-Only Accounts: Cache account balance for thread-safe load/store (#4691)
* Implement CreditOnlyLocks

* Update credit-only atomic on account load

* Update credit-only atomic after bank.freeze_lock; store credits if all credit-only lock references are dropped

* Commit credit-only credits on bank freeze

* Update core to CreditAccountLocks

* Impl credit-only in System Transfer

* Rework CreditAccountLocks, test, and fix bugs

* Review comments: Pass CreditAccountLocks by reference; Tighten up insert block

* Only store credits on completed slot

* Check balance in bench_exchange funding to ensure commit_credits has completed

* Add is_debitable info to KeyedAccount meta to pass into programs

* Reinstate CreditOnlyLocks check on lock_account

* Rework CreditAccountLocks to remove strong_count usage

* Add multi-threaded credit-only locks test

* Improve RwLocks usage

* Review comments: panic if bad things happen; tighter code

* Assert lock_accounts race does not happen

* Revert panic if bad things happen; not a bad thing
2019-06-27 17:25:10 -04:00
..
benches Accounts index opt (#4621) 2019-06-10 18:15:39 -07:00
src Credit-Only Accounts: Cache account balance for thread-safe load/store (#4691) 2019-06-27 17:25:10 -04:00
tests Break noop_program -> runtime dependency (#4481) 2019-05-30 11:20:49 -07:00
.gitignore add /target/ to .gitignore files for all crates (#4217) 2019-05-08 12:15:05 -07:00
Cargo.toml Bump serde_derive from 1.0.93 to 1.0.94 (#4856) 2019-06-27 13:18:19 -07:00
append_vec_serialize add fee burning (#4818) 2019-06-26 10:13:21 -07:00