Skip to content

Clean up mentions of mux tile #5556

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions contrib/test/run_script_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,6 @@ fi
# FIXME: Needs a /tmp/test.pcap file
#$UNIT_TEST/test_replay --tile-cpus 38-42/2 --tx-pcap /tmp/test.pcap 2> $LOG_PATH/replay


# todo(mmcgee-jump): reenable those tests https://github.com/firedancer-io/firedancer/issues/761
# if $UNIT_TEST/test_mux_ipc_init $OBJDIR && \
# $UNIT_TEST/test_mux_ipc_meta 16 16 && \
# $UNIT_TEST/test_mux_ipc_full 16 16 && \
# $UNIT_TEST/test_mux_ipc_fini; then
# echo pass > $LOG_PATH/mux_ipc
# else
# echo FAIL > $LOG_PATH/mux_ipc
# fi

wait

for f in `ls $LOG_PATH`; do
Expand Down
2 changes: 1 addition & 1 deletion src/app/fdctl/topology.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ fd_topo_initialize( config_t * config ) {

/* Sign links don't need to be reliable because they are synchronous,
so there's at most one fragment in flight at a time anyway. The
sign links are also not polled by the mux, instead the tiles will
sign links are also not polled by fd_stem, instead the tiles will
read the sign responses out of band in a dedicated spin loop. */

for( ulong i=0UL; i<shred_tile_cnt; i++ ) {
Expand Down
2 changes: 1 addition & 1 deletion src/app/firedancer/topology.c
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,7 @@ fd_topo_initialize( config_t * config ) {

/* Sign links don't need to be reliable because they are synchronous,
so there's at most one fragment in flight at a time anyway. The
sign links are also not polled by the mux, instead the tiles will
sign links are also not polled by fd_stem, instead the tiles will
read the sign responses out of band in a dedicated spin loop. */
for( ulong i=0UL; i<shred_tile_cnt; i++ ) {
/**/ fd_topob_tile_in( topo, "sign", 0UL, "metric_in", "shred_sign", i, FD_TOPOB_UNRELIABLE, FD_TOPOB_POLLED );
Expand Down
6 changes: 3 additions & 3 deletions src/app/shared/commands/monitor/monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,10 +123,10 @@ find_producer_out_idx( fd_topo_t const * topo,
and then returns the position of the consumer (specified by tile
and index of the in of that tile) in that list. The list ordering
is not important, except that it matches the ordering of fseqs
provided to the mux tile, so that metrics written for each link
index are retrieved at the same index here.
provided to fd_stem, so that metrics written for each link index
are retrieved at the same index here.

This is why we only count reliable links, because the mux tile only
This is why we only count reliable links, because fd_stem only
looks at and writes producer side diagnostics (is the link slow)
for reliable links. */

Expand Down
4 changes: 2 additions & 2 deletions src/disco/bundle/fd_bundle_tile_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ struct fd_bundle_metrics {

typedef struct fd_bundle_metrics fd_bundle_metrics_t;

/* fd_bundle_tile_t is the context object provided to callbacks from the
mux tile, and contains all state needed to progress the tile. */
/* fd_bundle_tile_t is the context object provided to callbacks from
stem, and contains all state needed to progress the tile. */

struct fd_bundle_tile {
/* Key switch */
Expand Down
4 changes: 2 additions & 2 deletions src/disco/cswtch/fd_cswtch_tile.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ scratch_footprint( fd_topo_tile_t const * tile ) {

static void
before_credit( fd_cswtch_ctx_t * ctx,
fd_stem_context_t * mux,
fd_stem_context_t * stem,
int * charge_busy ) {
(void)mux;
(void)stem;

long now = fd_log_wallclock();
if( now<ctx->next_report_nanos ) {
Expand Down
10 changes: 3 additions & 7 deletions src/disco/dedup/fd_dedup_tile.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,7 @@
/* fd_dedup provides services to deduplicate multiple streams of input
fragments and present them to a mix of reliable and unreliable
consumers as though they were generated by a single multi-stream
producer.

The dedup tile is simply a wrapper around the mux tile, that also
checks the transaction signature field for duplicates and filters
them out. */
producer. */

#define IN_KIND_GOSSIP (0UL)
#define IN_KIND_VERIFY (1UL)
Expand All @@ -30,8 +26,8 @@ typedef struct {
ulong mtu;
} fd_dedup_in_ctx_t;

/* fd_dedup_ctx_t is the context object provided to callbacks from the
mux tile, and contains all state needed to progress the tile. */
/* fd_dedup_ctx_t is the context object provided to callbacks from
fd_stem, and contains all state needed to progress the tile. */

typedef struct {
ulong tcache_depth; /* == fd_tcache_depth( tcache ), depth of this dedups's tcache (const) */
Expand Down
4 changes: 2 additions & 2 deletions src/disco/metrics/fd_metrics.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@

where every value is a ulong. Tile metrics come after link metrics,
so this base pointer points at the very start of the layout. You
shouldn't need to use this directly, instead it's used by the mux
tile when it's computing the metrics for specific links. */
shouldn't need to use this directly, instead it's used by fd_stem
when it's computing the metrics for specific links. */
extern FD_TL ulong * fd_metrics_base_tl;

/* All metrics in the application are ulongs, and are laid out
Expand Down
20 changes: 9 additions & 11 deletions src/disco/quic/fd_quic_tile.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,20 @@
#include <linux/unistd.h>
#include <sys/random.h>

/* fd_quic provides a TPU server tile.
/* fd_quic_tile provides a TPU server tile.

This tile handles incoming transactions that clients request to be
included in blocks. Supported protocols currently include TPU/UDP
and TPU/QUIC.

The fd_quic tile acts as a plain old Tango producer writing to a cnc
and an mcache. The tile will defragment multi-packet TPU streams
coming in from QUIC, such that each mcache/dcache pair forms a
complete txn. This requires the dcache mtu to be at least that of
the largest allowed serialized txn size.
The fd_quic tile acts as a plain old Tango producer. The tile will
defragment multi-packet TPU streams coming in from QUIC, such tha
each frag_meta refers to a complete txn. This requires the dcache
mtu to be at least that of the largest allowed serialized txn size.

QUIC tiles don't service network devices directly, but rely on
packets being received by net tiles and forwarded on via. a mux
(multiplexer). An arbitrary number of QUIC tiles can be run. Each
UDP flow must stick to one QUIC tile. */
QUIC tiles don't service network devices directly, but rely on net
tiles to send and receive packets. An arbitrary number of QUIC tiles
can be run. Each UDP flow must stick to one QUIC tile. */

static inline fd_quic_limits_t
quic_limits( fd_topo_tile_t const * tile ) {
Expand Down Expand Up @@ -92,7 +90,7 @@ legacy_stream_notify( fd_quic_ctx_t * ctx,
}

/* Because of the separate mcache for publishing network fragments
back to networking tiles, which is not managed by the mux, we
back to networking tiles, which is not managed by fd_stem, we
need to periodically update the sync. */
static void
during_housekeeping( fd_quic_ctx_t * ctx ) {
Expand Down
7 changes: 3 additions & 4 deletions src/disco/topo/fd_topob.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,9 @@ fd_topob_tile( fd_topo_t * topo,
int is_agave,
int uses_keyswitch );

/* Add an input link to the tile. If the tile is created with the
standard mux runner, it will automatically poll the in link and
forward fragments to the user code (unless the link is specified
as unpolled).
/* Add an input link to the tile. If the tile is created with fd_stem,
it will automatically poll the in link and forward fragments to the
user code (unless the link is specified as unpolled).

An input link has an fseq which is a ulong used for returning the
current reader position in sequence space, used for wiring flow
Expand Down
4 changes: 1 addition & 3 deletions src/disco/verify/fd_verify_tile.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include "fd_verify_tile.h"
#include "../fd_txn_m_t.h"
#include "../metrics/fd_metrics.h"
#include "generated/fd_verify_tile_seccomp.h"

Expand All @@ -8,9 +9,6 @@
#define IN_KIND_BUNDLE (1UL)
#define IN_KIND_GOSSIP (2UL)
#define IN_KIND_SEND (3UL)
/* The verify tile is a wrapper around the mux tile, that also verifies
incoming transaction signatures match the data being signed.
Non-matching transactions are filtered out of the frag stream. */

FD_FN_CONST static inline ulong
scratch_align( void ) {
Expand Down
6 changes: 5 additions & 1 deletion src/disco/verify/fd_verify_tile.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
#ifndef HEADER_fd_src_disco_verify_fd_verify_tile_h
#define HEADER_fd_src_disco_verify_fd_verify_tile_h

#include "../tiles.h"
/* The verify tile verifies that the cryptographic signatures of
incoming transactions match the data being signed. Transactions with
invalid signatures are filtered out of the frag stream. */

#include "../topo/fd_topo.h"

#define FD_TXN_VERIFY_SUCCESS 0
#define FD_TXN_VERIFY_FAILED -1
Expand Down
Loading