Commit Graph

148 Commits

Author SHA1 Message Date
github-actions[bot] ef8a9f504e
Bump version to v2.0.18 (#3753)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-22 19:29:11 -06:00
github-actions[bot] 78ea8ffa14
Bump version to v2.0.17 (#3678)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-19 14:48:52 +08:00
github-actions[bot] 2a3de521ce
Bump version to v2.0.16 (#3530)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-08 16:00:46 +08:00
Alexander Meißner f8f3fe31d9
Feature - disable account loader special case (#3514)
Feature gate disable_account_loader_special_case.
2024-11-07 21:36:42 +01:00
Alexander Meißner 204d282e44
Revert - #879 and #768 (#3511)
* Revert "Cleanup - Removes the owner form the result of `filter_executable_program_accounts()` (#879)"

This reverts commit 5fe30cb788.

* Revert "Refactor - Remove `program_accounts_map` from account_loader (#768)"

This reverts commit e7617a1b1f.
2024-11-07 11:32:44 +01:00
github-actions[bot] 135742fe3c
Bump version to v2.0.15 (#3210)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-18 21:19:04 +08:00
github-actions[bot] 0b643611ac
Bump version to v2.0.14 (#3056)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-03 10:58:03 -05:00
github-actions[bot] 1715788830
Bump version to v2.0.13 (#3048)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-02 22:49:41 +08:00
github-actions[bot] 3ade64bd13
Bump version to v2.0.12 (#3012)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-27 16:53:32 -05:00
github-actions[bot] 4255f52d4a
Bump version to v2.0.11 (#2942)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-25 14:08:51 -05:00
github-actions[bot] b55220fd88
Bump version to v2.0.10 (#2864)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-08 14:52:38 +08:00
github-actions[bot] ea2634f950
Bump version to v2.0.9 (#2804)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-31 11:46:28 +08:00
github-actions[bot] 5525ac06ff
Bump version to v2.0.8 (#2727)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-26 15:00:20 +08:00
github-actions[bot] a4f9b13ee2
Bump version to v2.0.7 (#2651)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-19 15:03:32 -06:00
mergify[bot] 9557d87eac
v2.0: Fix setting an account override for fee payer (backport of #2375) (#2451) 2024-08-15 00:09:44 +08:00
github-actions[bot] 35389e67a9
Bump version to v2.0.6 (#2518)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-10 01:09:10 +08:00
github-actions[bot] 505299413d
Bump version to v2.0.5 (#2419)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-03 15:04:53 +08:00
mergify[bot] 5b8a22981d
v2.0: Add removed line from PR1192 (backport of #2249) (#2319)
Add removed line from PR1192 (#2249)

* Add removed line from PR1192

* Test missing programs were loaded

(cherry picked from commit b14f1037bb)

Co-authored-by: asolana <110843012+ksolana@users.noreply.github.com>
2024-08-02 22:49:45 +07:00
github-actions[bot] 9b4fcdcfa9
Bump version to v2.0.4 (#2223)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-23 13:52:06 +08:00
mergify[bot] b57b883355
v2.0: Fix BankForks::new_rw_arc memory leak (backport of #1893) (#2066)
* Fix BankForks::new_rw_arc memory leak (#1893)

(cherry picked from commit d441c0f577)

* Fix flaky test test_banking_stage_entries_only_central_scheduler (#2082)

---------

Co-authored-by: Andrei Silviu Dragnea <andreisilviudragnea@gmail.com>
Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
2024-07-17 16:11:40 -07:00
github-actions[bot] 3e2d22e26a
Bump version to v2.0.3 (#2080)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-15 18:36:49 +08:00
Tao Zhu f8ae688668
Revert "v2.0: Refactor and additional metrics for cost tracking (backport of #1888) (#1900) (#1937)
Revert "v2.0: Refactor and additional metrics for cost tracking (backport of #1888) (#1900)"

This reverts commit 0aef62eac7.
2024-07-01 10:33:44 -06:00
mergify[bot] 0aef62eac7
v2.0: Refactor and additional metrics for cost tracking (backport of #1888) (#1900)
* Refactor and additional metrics for cost tracking (#1888)

* Refactor and add metrics:
- Combine remove_* and update_* functions to reduce locking on cost-tracker and iteration.
- Add method to calculate executed transaction cost by directly using actual execution cost and loaded accounts size;
- Wireup histogram to report loaded accounts size;
- Report time of block limits checking;
- Move account counters from ExecuteDetailsTimings to ExecuteAccountsDetails;

* Move committed transactions adjustment into its own function

(cherry picked from commit c3fadacf69)

* rename cost_tracker.account_data_size to better describe its purpose is to tracker per-block new account allocation

---------

Co-authored-by: Tao Zhu <82401714+tao-stones@users.noreply.github.com>
Co-authored-by: Tao Zhu <tao@solana.com>
2024-06-28 16:09:36 -05:00
github-actions[bot] d6041c002b
Bump version to v2.0.2 (#1848)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-25 14:42:34 +08:00
github-actions[bot] 69c0b0edb6
Bump version to v2.0.1 (#1821)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-24 12:53:19 +08:00
Joe C 1a679f470a
SVM: update spec (#1814) 2024-06-21 12:21:43 -05:00
Joe C 0f956c8ba7
SVM: Refactor program match criteria (#1784)
* SVM: hoist `program_modification_slot` up from bank

* SVM: add `check_program_modification_slot` to processing config

* SVM: hoist `program_match_criteria` up from bank

* SVM: drop `get_program_match_critera` from callbacks
2024-06-21 12:21:26 -05:00
Justin Starry 0d1ad0dc1d
Reuse compute budget processing (#1700)
* refactor: reuse compute budget limits

* fix tests
2024-06-20 19:22:19 +00:00
Justin Starry 8da4062644
refactor: consolidate fee deduction for failed transactions (#1636) 2024-06-20 08:03:40 -07:00
Lucas Ste 974c013c04
Make futures crate optional in solana-type-overrides (#1792) 2024-06-20 07:49:10 -03:00
Alessandro Decina 2107adcf35
bpf_loader: use an explicit thread-local pool for stack and heap memory (#1370)
* Rename ComputeBudget::max_invoke_stack_height to max_instruction_stack_depth

The new name is consistent with the existing
ComputeBudget::max_instruction_trace_length.

Also expose compute_budget:MAX_INSTRUCTION_DEPTH.

* bpf_loader: use an explicit thread-local pool for stack and heap memory

Use a fixed thread-local pool to hold stack and heap memory. This
mitigates the long standing issue of jemalloc causing TLB shootdowns to
serve such frequent large allocations.

Because we need 1 stack and 1 heap region per instruction, and the
current max instruction nesting is hardcoded to 5, the pre-allocated
size is (MAX_STACK + MAX_HEAP) * 5 * NUM_THREADS. With the current
limits that's about 2.5MB per thread. Note that this is memory that
would eventually get allocated anyway, we're just pre-allocating it now.

* programs/sbf: add test for stack/heap zeroing

Add TEST_STACK_HEAP_ZEROED which tests that stack and heap regions are
zeroed across reuse from the memory pool.
2024-06-20 08:57:11 +07:00
Pankaj Garg ad0a48c731
SVM: Reduce public visibility of sysvar_cache (#1783) 2024-06-18 10:53:57 -07:00
Joe C 2dc95087ae
SVM: Move `fee_structure` to environment input (#1771)
* SVM: add `fee_structure` to environment arg

* runtime: add `fee_structure` to bank

* SVM: drop `fee_structure` from global configs
2024-06-18 10:07:22 -05:00
Lucas Ste ebd063eb79
Add Shuttle multithreading test infrastructure (#1634) 2024-06-17 19:24:43 -03:00
Pankaj Garg 2e54ed280b
SVM: Unify different instances of epoch_schedule in SVM and Bank into one (#1736) 2024-06-17 15:18:34 -07:00
Joe C 3af8f0cfdb
Program Runtime: Unify transaction batch program caches (#1399)
* local program cache: add `modified_entries` field

* use `modified_entries` for modified program cache

* invoke context: make `program_cache_for_tx_batch` mutable

* invoke context: unify local program cache instances

* remove `find_program_in_cache` alias
2024-06-17 17:08:13 -05:00
Joe C aae4b33d94
SVM: update spec (#1757) 2024-06-17 07:56:16 -05:00
Joe C a108498af1
SVM: Group transaction processing environment (#1650)
* SVM: introduce `TransactionProcessingEnvironment`

* SVM: fold `blockhash` and `lamports_per_signature` into env

* SVM: fold `rent_collector` into env

* SVM: fold `feature_set` into env

* SVM: fold `epoch_stake` into env
2024-06-14 00:02:50 -05:00
Pankaj Garg 11018b5d35
Cleanup call to cache read lock in `prepare_program_cache_for_upcoming_feature_set()` (#1694) 2024-06-13 07:02:32 -07:00
Joe C 5148dcccf7
SVM: change modified programs result to hash map (#1391)
* SVM: change modified programs result to hash map

* take entries
2024-06-12 22:54:29 +00:00
Joe C ecf72523ab
SVM: Dissolve `RuntimeConfig` (#1590)
* SVM: add `compute_budget` to processing config

* bank: add `compute_budget` field

* SVM: add `transaction_account_lock_limit` to processing config

* bank: add `transaction_account_lock_limit` field

* bank: drop `runtime_config` getter

* SVM: require `compute_budget` for `prepare_program_cache_for_upcoming_feature_set`

* SVM: drop `runtime_config` from batch processor
2024-06-12 12:04:39 -05:00
Justin Starry 8d3b2c9286
Cleanup old variable name in account loader tests (#1691)
cleanup old variable name in account loader tests
2024-06-12 09:24:34 -07:00
Sean Young 873808cf21
Add option to record transactions to ledger-tool (#181) 2024-06-12 11:43:53 +01:00
Pankaj Garg 3e077b7350
Use try_read() in get_environments_for_epoch() to prevent recursive read (#1621)
* move load_program to dev-context-only-utils

* more changes to use dev-context-only-utils
2024-06-11 12:53:03 -07:00
Justin Starry e4b0055e52
Validate transaction fee payer earlier (#1529) 2024-06-11 07:49:11 -07:00
Joe C b1508010c0
Syscall: `GetEpochStake` (#1152)
* SVM: add `get_vote_accounts` callback

* program-runtime: invoke context: add `vote_accounts`

* sdk: add feature gate for sol-get-epoch-stake

* syscall: get-epoch-stake

* syscall: get-epoch-stake: tests

* drop `get_compute_meter`

* refactor for total stake

* refactor API for total stake
2024-06-11 09:28:31 -05:00
Joe C 5263c9d61f
SVM: Return execute timings from API (#1604)
* SVM: add `execute_timings` to API return type

* SVM: message processor: rename `timings` to `execute_timings`

* SVM: remove `timings` mutable input
2024-06-07 15:13:49 -05:00
Pankaj Garg 538b693049
Remove recursive read locking of program cache (#1616) 2024-06-05 15:26:12 -07:00
Joe C 0bf34e5ca1
Compute Budget: add `frozen-abi` feature (#1606)
compute budget: add `frozen-abi` feature
2024-06-05 09:20:50 -05:00
Lucas Ste c3183b6091
Fix CI for conformance testing (#1596)
Fix broken CI test
2024-06-05 10:52:21 -03:00