solana/core/src
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
..
blocktree Revert "Dynamic erasure (#4653)" 2019-06-20 20:53:03 -07:00
broadcast_stage Revert "Dynamic erasure (#4653)" 2019-06-20 20:53:03 -07:00
bank_forks.rs Set proper count value for account stores (#4797) 2019-06-25 07:21:45 -07:00
banking_stage.rs Credit-Only Accounts: Cache account balance for thread-safe load/store (#4691) 2019-06-27 17:25:10 -04:00
blob_fetch_stage.rs
blockstream.rs Add EntryWriter::write() stub for windows (#4546) 2019-06-04 20:15:37 -07:00
blockstream_service.rs _id => _pubkey variable renaming (#4419) 2019-05-23 23:20:04 -07:00
blocktree.rs Revert "Dynamic erasure (#4653)" 2019-06-20 20:53:03 -07:00
blocktree_processor.rs Set epoch schedule in set_root in leader schedule cache (#4821) 2019-06-26 00:19:48 -07:00
broadcast_stage.rs Revert "Dynamic erasure (#4653)" 2019-06-20 20:53:03 -07:00
chacha.rs Revert "Dynamic erasure (#4653)" 2019-06-20 20:53:03 -07:00
chacha_cuda.rs Fix bug in storage processor and remove duplicate Constant (#4294) 2019-05-15 13:28:56 -07:00
cluster.rs Data plane verification (#4639) 2019-06-12 16:43:05 -07:00
cluster_info.rs Stake weighted pruning for the gossip network (#4769) 2019-06-26 00:30:16 -07:00
cluster_info_repair_listener.rs Revert "Dynamic erasure (#4653)" 2019-06-20 20:53:03 -07:00
cluster_info_vote_listener.rs Change to crossbeam channel in banking_threads VerifiedReceiver (#4822) 2019-06-26 18:42:27 -07:00
cluster_tests.rs tower consensus naming (#4598) 2019-06-24 13:41:23 -07:00
consensus.rs tower consensus naming (#4598) 2019-06-24 13:41:23 -07:00
contact_info.rs Data plane verification (#4639) 2019-06-12 16:43:05 -07:00
crds.rs
crds_gossip.rs Stake weighted pruning for the gossip network (#4769) 2019-06-26 00:30:16 -07:00
crds_gossip_error.rs Stake weighted pruning for the gossip network (#4769) 2019-06-26 00:30:16 -07:00
crds_gossip_pull.rs Create bank snapshots (#4244) 2019-05-30 21:31:35 -07:00
crds_gossip_push.rs Stake weighted pruning for the gossip network (#4769) 2019-06-26 00:30:16 -07:00
crds_value.rs Data plane verification (#4639) 2019-06-12 16:43:05 -07:00
cuda_runtime.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
entry.rs Merklize PoH TX mixin hash (#4644) 2019-06-25 14:44:27 -06:00
erasure.rs Revert "Dynamic erasure (#4653)" 2019-06-20 20:53:03 -07:00
fetch_stage.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
gen_keys.rs
genesis_utils.rs create_genesis_block() now returns a struct (#4403) 2019-05-22 20:39:00 -07:00
gossip_service.rs Stake weighted pruning for the gossip network (#4769) 2019-06-26 00:30:16 -07:00
leader_schedule.rs Add a cache for leader schedules (#3841) 2019-04-19 02:39:44 -07:00
leader_schedule_cache.rs Set epoch schedule in set_root in leader schedule cache (#4821) 2019-06-26 00:19:48 -07:00
leader_schedule_utils.rs _id => _pubkey variable renaming (#4419) 2019-05-23 23:20:04 -07:00
lib.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
local_cluster.rs Support for custom BroadcastStage in local cluster tests (#4716) 2019-06-19 00:13:19 -07:00
local_vote_signer_service.rs
packet.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
poh.rs Improve PoH unit test asserts (#4351) 2019-05-20 13:02:44 -07:00
poh_recorder.rs Forward transactions to the leader for next Nth slot (#4806) 2019-06-24 15:56:50 -07:00
poh_service.rs create_genesis_block() now returns a struct (#4403) 2019-05-22 20:39:00 -07:00
recvmmsg.rs Coalesce packets better (#4456) 2019-05-29 12:17:50 -07:00
recycler.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
repair_service.rs Add "download from replicator" utility (#4709) 2019-06-17 18:12:13 -07:00
replay_stage.rs Credit-Only Accounts: Cache account balance for thread-safe load/store (#4691) 2019-06-27 17:25:10 -04:00
replicator.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
result.rs Change to crossbeam channel in banking_threads VerifiedReceiver (#4822) 2019-06-26 18:42:27 -07:00
retransmit_stage.rs Removed some dead code (#4563) 2019-06-06 14:26:12 -07:00
rpc.rs add fee burning (#4818) 2019-06-26 10:13:21 -07:00
rpc_pubsub.rs Replace unneeded seqcst with relaxed on atomic operations (#4587) 2019-06-06 23:53:21 -07:00
rpc_pubsub_service.rs
rpc_service.rs create_genesis_block() now returns a struct (#4403) 2019-05-22 20:39:00 -07:00
rpc_subscriptions.rs create_genesis_block() now returns a struct (#4403) 2019-05-22 20:39:00 -07:00
service.rs
sigverify.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
sigverify_stage.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
staking_utils.rs rewrite vote credits redemption to eat from rewards_pools on an epoch-sensitive basis (#4775) 2019-06-21 20:43:24 -07:00
storage_stage.rs Update replicators to use the storage blockhash to generate offsets (#4712) 2019-06-17 16:39:26 -07:00
streamer.rs Page-pin packet memory for cuda (#4250) 2019-06-27 09:32:32 +02:00
test_tx.rs Remove fee arg from system_transaction::* (#4346) 2019-05-20 10:03:19 -07:00
tpu.rs Change to crossbeam channel in banking_threads VerifiedReceiver (#4822) 2019-06-26 18:42:27 -07:00
tvu.rs Fixes for storage program and rework storage stage (#4654) 2019-06-11 18:27:47 -07:00
validator.rs Support for custom BroadcastStage in local cluster tests (#4716) 2019-06-19 00:13:19 -07:00
weighted_shuffle.rs Add random distribution for avalanche peers (#4493) 2019-06-01 07:55:43 -07:00
window_service.rs Set epoch schedule in set_root in leader schedule cache (#4821) 2019-06-26 00:19:48 -07:00