From c5d656ba3251e1583bce8dc4aaf66fbcab0a96cd Mon Sep 17 00:00:00 2001 From: mwojcik Date: Mon, 13 May 2024 11:50:01 +0800 Subject: [PATCH] drtio: increase maximum payload size --- artiq/firmware/libproto_artiq/drtioaux_proto.rs | 2 +- artiq/firmware/runtime/rtio_mgt.rs | 2 +- artiq/firmware/runtime/session.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/artiq/firmware/libproto_artiq/drtioaux_proto.rs b/artiq/firmware/libproto_artiq/drtioaux_proto.rs index 2779b7207..a2e51ca65 100644 --- a/artiq/firmware/libproto_artiq/drtioaux_proto.rs +++ b/artiq/firmware/libproto_artiq/drtioaux_proto.rs @@ -16,7 +16,7 @@ impl From> for Error { // maximum size of arbitrary payloads // used by satellite -> master analyzer, subkernel exceptions -pub const SAT_PAYLOAD_MAX_SIZE: usize = /*max size*/512 - /*CRC*/4 - /*packet ID*/1 - /*last*/1 - /*length*/2; +pub const SAT_PAYLOAD_MAX_SIZE: usize = /*max size*/1024 - /*CRC*/4 - /*packet ID*/1 - /*last*/1 - /*length*/2; // used by DDMA, subkernel program data (need to provide extra ID and destination) pub const MASTER_PAYLOAD_MAX_SIZE: usize = SAT_PAYLOAD_MAX_SIZE - /*source*/1 - /*destination*/1 - /*ID*/4; diff --git a/artiq/firmware/runtime/rtio_mgt.rs b/artiq/firmware/runtime/rtio_mgt.rs index 1bdec0dcb..2d0cbad55 100644 --- a/artiq/firmware/runtime/rtio_mgt.rs +++ b/artiq/firmware/runtime/rtio_mgt.rs @@ -65,7 +65,7 @@ pub mod drtio { let up_destinations = up_destinations.clone(); let ddma_mutex = ddma_mutex.clone(); let subkernel_mutex = subkernel_mutex.clone(); - io.spawn(8192, move |io| { + io.spawn(16384, move |io| { let routing_table = routing_table.borrow(); link_thread(io, &aux_mutex, &routing_table, &up_destinations, &ddma_mutex, &subkernel_mutex); }); diff --git a/artiq/firmware/runtime/session.rs b/artiq/firmware/runtime/session.rs index 5478e33ee..d972414bd 100644 --- a/artiq/firmware/runtime/session.rs +++ b/artiq/firmware/runtime/session.rs @@ -893,7 +893,7 @@ fn respawn(io: &Io, handle: &mut Option, f: F) } } - *handle = Some(io.spawn(24576, f)) + *handle = Some(io.spawn(32768, f)) } pub fn thread(io: Io, aux_mutex: &Mutex,