Commit Graph

15242 Commits

Author SHA1 Message Date
7dd7cea0c7 Improve poh recorder metrics (backport #22730) (#22763)
* Improve poh recorder metrics (#22730)

* Improve poh recorder metrics

* Add metric for poh service send record

* feedback

* clean up

(cherry picked from commit 115b488807)

# Conflicts:
#	poh/src/poh_recorder.rs

* fix conflicts

Co-authored-by: Justin Starry <justin@solana.com>
2022-01-28 06:30:35 +00:00
597342a643 Always contact release.solana.com over https (#22794)
(cherry picked from commit bd86459a94)

Co-authored-by: Michael Vines <mvines@gmail.com>
2022-01-27 21:44:47 +00:00
367e23fe22 Restrict the Mergify copy command to core contributors (backport #22789) (#22791)
* Restrict the Mergify copy command to core contributors

(cherry picked from commit c0638439be)

# Conflicts:
#	.mergify.yml

* Update .mergify.yml

Co-authored-by: Michael Vines <mvines@gmail.com>
2022-01-27 17:11:32 +00:00
92cc75b3ae test_ed25519 fails if we randomly select index 1 (#22779)
(cherry picked from commit c1b543c74d)

# Conflicts:
#       sdk/src/ed25519_instruction.rs

Co-authored-by: Sean Young <sean@mess.org>
2022-01-27 13:02:42 +00:00
fdc1b046bc Set the correct root in block commitment cache initialization (#22750) (#22756)
* Set the correct root in block commitment cache initialization

* clean up test

* bump

(cherry picked from commit d9c259a231)

# Conflicts:
#	replica-node/src/replica_node.rs

Co-authored-by: Justin Starry <justin@solana.com>
2022-01-27 02:49:28 +00:00
6979d01e4c spl-associated-token-account: Add feature for new program (backport #22648) (#22718)
* spl-associated-token-account: Add feature for new program (#22648)

* spl-associated-token-account: Add feature for new program

* Address feedback

(cherry picked from commit fc21af4e6e)

# Conflicts:
#	runtime/src/bank.rs
#	runtime/src/lib.rs
#	sdk/src/feature_set.rs

* Fix merge conflicts

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-01-25 00:16:18 +00:00
a8c56a1dfa Move discard check before generate offsets (#22684) (#22706)
(cherry picked from commit 7569f282c6)

Co-authored-by: sakridge <sakridge@gmail.com>
2022-01-24 16:03:12 +00:00
5d27a7f4c4 Refactor: Rename variables and helper method to PohRecorder (backport #22676) (#22687)
* Refactor: Rename variables and helper method to `PohRecorder` (#22676)

* Refactor: Rename leader_first_tick_height field

* Refactor: add `PohRecorder::slot_for_tick_height` helper

* Refactor: Add type for poh leader status

(cherry picked from commit 1240217a73)

# Conflicts:
#	core/src/replay_stage.rs
#	poh/src/poh_recorder.rs

* resolve conflicts

Co-authored-by: Justin Starry <justin@solana.com>
2022-01-23 04:16:53 +00:00
de46df6b1b Perf: Only check executors cache for executable bpf program ids (backport #22624) (#22628)
* Perf: Only check executors cache for executable bpf program ids (#22624)

* Only check executors cache for executable bpf program ids

* switch to native loader check

* clean up tests

* fix tests

* clippy

(cherry picked from commit 7d34a7acac)

# Conflicts:
#	runtime/src/bank.rs

* resolve conflicts

Co-authored-by: Justin Starry <justin@solana.com>
2022-01-22 14:12:29 +08:00
4b7450e89e Perf: Store deserialized sysvars in the sysvars cache (backport #22455) (#22627)
* Perf: Store deserialized sysvars in the sysvars cache (#22455)

* resolve conflicts

* remove bench
2022-01-22 14:09:05 +08:00
f3126f7e77 sigverify -- dedupe bloom filter too slow followups 2022-01-22 05:57:24 +00:00
9b90162564 Bump version to 1.8.15 (#22670) 2022-01-22 11:15:07 +08:00
9c01d90c70 Handle already discarded packets in discard_excess_packets (#22594) (#22634)
(cherry picked from commit 38b02bbcc0)

Co-authored-by: sakridge <sakridge@gmail.com>
v1.8.14
2022-01-22 01:10:31 +00:00
edf1954817 Faster dedup v1.8 (#22619)
* Faster dedup
2022-01-21 08:19:55 -08:00
59eee75d65 Speed up packet dedup and fix benches (backport #22592) (#22611)
* Speed up packet dedup and fix benches (#22592)

* Speed up packet dedup and fix benches

* fix tests

* allow int arithmetic in bench

(cherry picked from commit a2d251ce1e)

# Conflicts:
#	perf/src/sigverify.rs

* resolve conflicts

Co-authored-by: Justin Starry <justin@solana.com>
2022-01-21 07:34:57 +00:00
c2dd9a006d Fetch sysvars from invoke context for vote program (backport #22444) (#22621)
* Fetch sysvars from invoke context for vote program (#22444)

* resolve conflicts
2022-01-21 02:59:33 +00:00
8eb0a1091a system-monitor-service: support percentages from bigger numbers (#22597)
(cherry picked from commit cca3dbc76d)

Co-authored-by: Trent Nelson <trent@solana.com>
2022-01-20 23:22:48 +00:00
cb5106a15b Dedup v1.8 (#22584)
backport
2022-01-19 21:31:55 -08:00
2d5957a4b4 Refactor: move sysvar cache to new module (#22586) 2022-01-20 03:27:03 +00:00
99846eea12 Add PacketBatch packet_indexes stat (#22564) (#22574)
* collect stats on packet batch indicies

* cleanup

* cleanup

* cleanup

* change name

(cherry picked from commit 650882217c)

# Conflicts:
#	core/src/banking_stage.rs

Co-authored-by: buffalu <85544055+buffalu@users.noreply.github.com>
2022-01-20 00:48:18 +00:00
78b82dedb1 improves sigverify discard_excess_packets performance (backport #22577) (#22579)
* improves sigverify discard_excess_packets performance (#22577)

As shown by the added benchmark, current code does worse if there is a
spam address plus a lot of unique addresses.

on current master:
test bench_packet_discard_many_senders  ... bench:   1,997,960 ns/iter (+/- 103,715)
test bench_packet_discard_mixed_senders ... bench:  14,256,116 ns/iter (+/- 534,865)
test bench_packet_discard_single_sender ... bench:   1,306,809 ns/iter (+/- 61,992)

with this commit:
test bench_packet_discard_many_senders  ... bench:   1,644,025 ns/iter (+/- 83,715)
test bench_packet_discard_mixed_senders ... bench:   1,089,789 ns/iter (+/- 86,324)
test bench_packet_discard_single_sender ... bench:     955,234 ns/iter (+/- 55,953)

(cherry picked from commit dcf44d2523)

# Conflicts:
#	core/benches/sigverify_stage.rs
#	core/src/sigverify_stage.rs

* removes mergify merge conflicts

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2022-01-19 21:23:34 +00:00
db942269f0 Stop caching sysvars, instead load them ahead of time (backport #21108) (#22572)
* Bump version to v1.8.14

* Stop caching sysvars, instead load them ahead of time (backport #21108)

Co-authored-by: Trent Nelson <trent@solana.com>
2022-01-19 17:42:43 +08:00
eede487797 Bump version to v1.8.14 (#22573) 2022-01-19 17:40:37 +08:00
42c3fbc198 Track discard time of excess packets in sigverify (#22554) (#22569)
* discard time histogram

* closer to the if

* update

(cherry picked from commit e616a7ebfc)

# Conflicts:
#	core/src/sigverify_stage.rs

Co-authored-by: anatoly yakovenko <anatoly@solana.com>
v1.8.13
2022-01-19 02:42:13 +00:00
4706aa4900 wrap create executor timings datapoint in a module (#22397)
Co-authored-by: Trent Nelson <trent@solana.com>
2022-01-19 00:33:36 +00:00
b357eda15b Revert "count vote transaction units to block cost"
This reverts commit 5655ea0061.
2022-01-18 15:10:49 -07:00
fc8f61368d Revert "Added vote limits to be 75% of total block limit"
This reverts commit 3e131a5324.
2022-01-18 15:10:49 -07:00
aabcdcf8fb Add execute metrics (backport #22296) (#22334)
* consolidate execute timings to a common module

* Add execute metrics

* Add metrics for executor creation

* Use saturating_add_assign macro

Co-authored-by: Trent Nelson <trent@solana.com>
Co-authored-by: Carl Lin <carl@solana.com>
2022-01-18 19:18:24 +00:00
81e65eae0b Use VecDeque instead of Vec in sigverify stage (#22538) (#22549)
avoid bad performance of remove(0) for a single sender

(cherry picked from commit 49443406fd)

# Conflicts:
#	core/src/sigverify_stage.rs

Co-authored-by: sakridge <sakridge@gmail.com>
2022-01-17 22:19:25 +00:00
38e72982bc metrics for generate new bank forks (#22492) (#22547)
* metrics for generate new bank forks

* fixed

* Apply suggestions from code review

Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>

* --fixup

* fixup!

Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
(cherry picked from commit 2d94e6e5d3)

# Conflicts:
#	core/src/replay_stage.rs

Co-authored-by: anatoly yakovenko <anatoly@solana.com>
2022-01-17 21:48:20 +00:00
d52dd97ad1 log internals (#22493) (#22496)
(cherry picked from commit eca8d21249)

Co-authored-by: carllin <carl@solana.com>
2022-01-15 05:22:08 +00:00
61f88e04d2 adds methods to obtain shreds' erasure coded block and index (#21325) (#22508)
(cherry picked from commit 7da2df7d8c)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2022-01-14 17:43:16 +00:00
3e131a5324 Added vote limits to be 75% of total block limit 2022-01-14 10:49:17 -06:00
5655ea0061 count vote transaction units to block cost 2022-01-14 10:49:17 -06:00
40ef11ec86 implements copy-on-write for staked-nodes (backport #19090) (#22507)
* implements copy-on-write for staked-nodes (#19090)

Bank::staked_nodes and Bank::epoch_staked_nodes redundantly clone
staked-nodes HashMap even though an immutable reference will suffice:
https://github.com/solana-labs/solana/blob/a9014cece/runtime/src/vote_account.rs#L77

This commit implements copy-on-write semantics for staked-nodes by
wrapping the underlying HashMap in Arc<...>.

(cherry picked from commit f302774cf7)

# Conflicts:
#	runtime/src/bank.rs
#	runtime/src/stakes.rs
#	runtime/src/vote_account.rs

* removes backport merge conflicts

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2022-01-14 15:26:11 +00:00
debac00724 Soften vote account identity mismatch from panic to runtime error 2022-01-13 19:31:03 -08:00
304afd42c6 Revert "Stop caching sysvars, instead load them ahead of time (backport #21108) (#22466)"
This reverts commit 5d3f3bc9b1.
2022-01-14 11:13:04 +08:00
5d3f3bc9b1 Stop caching sysvars, instead load them ahead of time (backport #21108) (#22466)
* Stop caching sysvars, instead load them ahead of time. (#21108)

(cherry picked from commit 29ad081555)

# Conflicts:
#	programs/bpf/tests/programs.rs
#	programs/bpf_loader/src/syscalls.rs
#	programs/stake/src/stake_instruction.rs
#	runtime/src/bank.rs
#	runtime/src/message_processor.rs
#	sdk/program/src/sysvar/mod.rs
#	sdk/src/process_instruction.rs

* resolve conflicts

Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
Co-authored-by: Justin Starry <justin@solana.com>
2022-01-13 17:51:13 +00:00
42531a11a5 limits gossip vote stats to the top most voted slots (#22416) (#22473)
(cherry picked from commit 49da347d84)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2022-01-13 16:23:42 +00:00
10c40c9c2d Remove program-runtime/src/invoke_context.rs 2022-01-13 23:59:02 +08:00
1ef48f369e downgrade individual per-program-timing to trace to reduce writes to influx
(cherry picked from commit 6614727be8)
2022-01-12 22:01:56 -06:00
05e75ae937 Don't forward packets received from TPU forwards port (backport #22078) (#22180)
* Don't forward packets received from TPU forwards port (#22078)

* resolve conflicts
2022-01-10 14:36:56 +08:00
a7aa5202ab bank: fix executor cache metrics (#22395)
(cherry picked from commit 3b4aad9df1)

Co-authored-by: Trent Nelson <trent@solana.com>
2022-01-09 05:55:08 +00:00
9aa7821277 Bump version to v1.8.13 2022-01-08 12:27:11 -07:00
fee86726f2 improve multi executor cache addition (#22381)
(cherry picked from commit 4a9f4e2505)

Co-authored-by: Jack May <jack@solana.com>
v1.8.12
2022-01-08 12:52:16 +00:00
8a470d3ae8 add excutor creation trace timings 2022-01-08 04:46:31 -07:00
8c6df1f234 bank: prime new executor cache entry use-counts (#22374)
Co-authored-by: Trent Nelson <trent@solana.com>
2022-01-08 10:14:05 +00:00
7cbfab0958 remove per program timings from blockstore processor ledger replay (#22370) (#22371)
(cherry picked from commit 813006b33b)

Co-authored-by: carllin <carl@solana.com>
2022-01-08 08:33:31 +00:00
6130466a21 Executor cache metrics (backport #22332) (#22367)
* Add helper macro for `AddAssign`ing with saturating arithmetic

* bank: Add executors cache metrics

Co-authored-by: Trent Nelson <trent@solana.com>
2022-01-08 02:19:36 +00:00
299a59f458 removes CowCachedExecutors (backport #22343) (#22362)
* 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 c2389fc209)

# Conflicts:
#	runtime/src/bank.rs

* removes backport merge conflicts

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2022-01-07 16:18:00 +00:00