|
24 | 24 | #include "../../discof/restore/utils/fd_ssmsg.h" |
25 | 25 | #include "../../flamenco/progcache/fd_progcache_admin.h" |
26 | 26 | #include "../../vinyl/meta/fd_vinyl_meta.h" |
| 27 | +#include "../../vinyl/io/fd_vinyl_io.h" /* FD_VINYL_IO_TYPE_* */ |
27 | 28 |
|
28 | 29 | #include <sys/random.h> |
29 | 30 | #include <sys/types.h> |
@@ -673,11 +674,7 @@ fd_topo_initialize( config_t * config ) { |
673 | 674 |
|
674 | 675 | /**/ fd_topob_tile_in ( topo, "tower", 0UL, "metric_in", "dedup_resolv", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED ); |
675 | 676 | /**/ fd_topob_tile_in ( topo, "tower", 0UL, "metric_in", "replay_exec", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED ); |
676 | | - /**/ fd_topob_tile_in ( topo, "tower", 0UL, "metric_in", "genesi_out", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED ); |
677 | 677 | /**/ fd_topob_tile_in ( topo, "tower", 0UL, "metric_in", "replay_out", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED ); |
678 | | - if( snapshots_enabled ) { |
679 | | - fd_topob_tile_in ( topo, "tower", 0UL, "metric_in", "snapin_manif", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED ); |
680 | | - } |
681 | 678 | /**/ fd_topob_tile_out( topo, "tower", 0UL, "tower_out", 0UL ); |
682 | 679 |
|
683 | 680 | /**/ fd_topob_tile_in ( topo, "send", 0UL, "metric_in", "replay_stake", 0UL, FD_TOPOB_RELIABLE, FD_TOPOB_POLLED ); |
@@ -879,12 +876,14 @@ fd_topo_initialize( config_t * config ) { |
879 | 876 | config->firedancer.funk.max_database_transactions, |
880 | 877 | config->firedancer.funk.heap_size_gib ); |
881 | 878 | /**/ fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "replay", 0UL ) ], funk_obj, FD_SHMEM_JOIN_MODE_READ_WRITE ); /* TODO: Should be readonly? */ |
| 879 | + /**/ fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "tower", 0UL ) ], funk_obj, FD_SHMEM_JOIN_MODE_READ_ONLY ); |
882 | 880 | FOR(exec_tile_cnt) fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "exec", i ) ], funk_obj, FD_SHMEM_JOIN_MODE_READ_WRITE ); |
883 | 881 | FOR(bank_tile_cnt) fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "bank", i ) ], funk_obj, FD_SHMEM_JOIN_MODE_READ_WRITE ); |
884 | 882 | FOR(resolv_tile_cnt) fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "resolv", i ) ], funk_obj, FD_SHMEM_JOIN_MODE_READ_ONLY ); |
885 | 883 |
|
886 | 884 | fd_topo_obj_t * banks_obj = setup_topo_banks( topo, "banks", config->firedancer.runtime.max_live_slots, config->firedancer.runtime.max_fork_width, config->development.bench.larger_max_cost_per_block ); |
887 | 885 | /**/ fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "replay", 0UL ) ], banks_obj, FD_SHMEM_JOIN_MODE_READ_WRITE ); /* TODO: Should be readonly? */ |
| 886 | + /**/ fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "tower", 0UL ) ], banks_obj, FD_SHMEM_JOIN_MODE_READ_ONLY ); |
888 | 887 | FOR(exec_tile_cnt) fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "exec", i ) ], banks_obj, FD_SHMEM_JOIN_MODE_READ_WRITE ); /* TODO: Should be readonly? */ |
889 | 888 | FOR(bank_tile_cnt) fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "bank", i ) ], banks_obj, FD_SHMEM_JOIN_MODE_READ_WRITE ); |
890 | 889 | FOR(resolv_tile_cnt) fd_topob_tile_uses( topo, &topo->tiles[ fd_topo_find_tile( topo, "resolv", i ) ], banks_obj, FD_SHMEM_JOIN_MODE_READ_ONLY ); |
@@ -1404,6 +1403,17 @@ fd_topo_configure_tile( fd_topo_tile_t * tile, |
1404 | 1403 |
|
1405 | 1404 | } else if( FD_UNLIKELY( !strcmp( tile->name, "vinyl" ) ) ) { |
1406 | 1405 |
|
| 1406 | + tile->vinyl.vinyl_meta_map_obj_id = fd_pod_query_ulong( config->topo.props, "vinyl.meta_map", ULONG_MAX ); |
| 1407 | + tile->vinyl.vinyl_meta_pool_obj_id = fd_pod_query_ulong( config->topo.props, "vinyl.meta_pool", ULONG_MAX ); |
| 1408 | + tile->vinyl.vinyl_line_max = config->firedancer.vinyl.max_cache_entries; |
| 1409 | + tile->vinyl.vinyl_cnc_obj_id = fd_pod_query_ulong( config->topo.props, "vinyl.cnc", ULONG_MAX ); |
| 1410 | + tile->vinyl.vinyl_data_obj_id = fd_pod_query_ulong( config->topo.props, "vinyl.data", ULONG_MAX ); |
| 1411 | + fd_cstr_ncpy( tile->vinyl.vinyl_bstream_path, config->paths.accounts, sizeof(tile->vinyl.vinyl_bstream_path) ); |
| 1412 | + |
| 1413 | + tile->vinyl.io_type = config->firedancer.vinyl.io_uring.enabled ? |
| 1414 | + FD_VINYL_IO_TYPE_UR : FD_VINYL_IO_TYPE_BD; |
| 1415 | + tile->vinyl.uring_depth = config->firedancer.vinyl.io_uring.queue_depth; |
| 1416 | + |
1407 | 1417 | } else { |
1408 | 1418 | FD_LOG_ERR(( "unknown tile name `%s`", tile->name )); |
1409 | 1419 | } |
|
0 commit comments