Commit Graph

65 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
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
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
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
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 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
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
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 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
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
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
Lucas Ste c3183b6091
Fix CI for conformance testing (#1596)
Fix broken CI test
2024-06-05 10:52:21 -03:00
Joe C 09a99edcc9
SVM: Return error metrics from API (#1589)
* SVM: Add `error_metrics` to API return type

* SVM: account loader: rename `error_counter` to `error_metrics`

* SVM: remove `error_counters` mutable input
2024-06-05 08:34:18 -05:00
Pankaj Garg 9830fb6761
SVM: remove usage of program cache from load_program_with_pubkey() (#1582)
* SVM: remove usage of program cache from Bank::load_program()

* return value instead of reference from get_environments_for_epoch()
2024-06-04 14:44:00 -07:00
Pankaj Garg 6f0afae25e
SVM: move program cache construction inside SVM (#1565)
* SVM: move program cache construction inside SVM

* change slot and epoch for program cache in SVM tests

* move creation of ProgramCache within SVM bounds
2024-06-03 12:11:33 -07:00
Lucas Ste 9489096dc5
Incorporate system program fixtures in conformance testing (#1530) 2024-06-03 11:12:34 -05:00
Joe C 62eb4cc068
Add Compute Budget Crate (#1121) 2024-06-01 01:38:19 -05:00
Lucas Ste 08c658dc55
Integrate test-vectors bpf-loader in SVM (#1386)
* Integrate test-vectors bpf-loader
2024-05-27 16:58:51 -03:00
Justin Starry a4a009e04d
refactor: checked transaction lps is never none (#1487) 2024-05-26 11:26:53 -04:00
Joe C 529e73dc06
SVM: Group transaction processing configs (#1475)
SVM: group transaction processing configs
2024-05-24 16:30:25 -05:00
Justin Starry e3d8217387
refactor: transaction check result cleanup (#1458) 2024-05-23 15:08:48 -04:00
Justin Starry 5410794308
refactor: move nonce info into `LoadedTransaction` (#1407)
* refactor: move nonce into LoadedTransaction

* clean up tests
2024-05-17 15:59:20 -05:00
Lucas Steuernagel dcc7319432
Add option to build v0 message in SVM (#1238) 2024-05-08 10:53:29 -03:00
Lucas Steuernagel 2e828d901d
Fix SVM transaction builder (#1103) 2024-04-30 08:34:04 -03:00
Joe C f5db8d2c27
SVM: move `TransactionProcessingCallback` into its own module (#1004) 2024-04-23 20:10:17 +00:00
Pankaj Garg bbe470562b
SVM: Cleanup transaction processor construction (#974) 2024-04-22 14:29:20 -07:00
Alexander Meißner e43338f3d6
Refactor - Rename `LoadedProgram` to `ProgramCacheEntry` (#880)
LoadedProgramOwner => ProgramCacheEntryOwner.
LoadedProgramType => ProgramCacheEntryType.
LoadedProgram => ProgramCacheEntry.
LoadedProgramStats => ProgramCacheStats.
LoadedProgramMatchCriteria => ProgramCacheMatchCriteria.
LoadedProgramsForTxBatch => ProgramCacheForTxBatch.
2024-04-18 21:38:08 +02:00
Justin Starry 09241ae9c3
Use reserved account keys list to restrict tx write locks (#541)
* Plumb through reserved account keys set

* Plumb through tests
2024-04-13 09:37:58 +08:00
Lucas Steuernagel 4753a8aefa
Move `add_builtin` to SVM (#547) 2024-04-09 16:55:09 -03:00
Joe C 03ef611f0c
program-runtime: hoist `RuntimeConfig` up to SVM (#630)
program-runtime: hoist `RuntimeConfig` out into SVM
2024-04-07 10:45:57 -05:00
Lucas Steuernagel e70ff38f35
Use loader v3 instead of v2 in the SVM (#454) 2024-03-27 15:47:34 -03:00