erase remote ID if name is overwritten
parent
7bd5413fbe
commit
ca51cf7729
|
@ -323,7 +323,7 @@ async fn handle_run_kernel(
|
|||
.await;
|
||||
}
|
||||
kernel::Message::DmaPutRequest(recorder) => {
|
||||
let _id = rtio_dma::put_record(recorder);
|
||||
let _id = rtio_dma::put_record(aux_mutex, routing_table, timer, recorder).await;
|
||||
#[cfg(has_drtio)]
|
||||
rtio_dma::remote_dma::upload_traces(aux_mutex, routing_table, timer, _id).await;
|
||||
}
|
||||
|
|
|
@ -293,7 +293,11 @@ pub mod remote_dma {
|
|||
}
|
||||
|
||||
|
||||
pub fn put_record(mut recorder: DmaRecorder) -> u32 {
|
||||
pub async fn put_record(_aux_mutex: &Rc<Mutex<bool>>,
|
||||
_routing_table: &RoutingTable,
|
||||
_timer: GlobalTimer,
|
||||
mut recorder: DmaRecorder,
|
||||
) -> u32 {
|
||||
#[cfg(has_drtio)]
|
||||
let mut remote_traces: BTreeMap<u8, Vec<u8>> = BTreeMap::new();
|
||||
|
||||
|
@ -338,12 +342,17 @@ pub fn put_record(mut recorder: DmaRecorder) -> u32 {
|
|||
|
||||
let ptr = recorder.buffer[padding..].as_ptr() as u32;
|
||||
|
||||
DMA_RECORD_STORE
|
||||
let _old_record = DMA_RECORD_STORE
|
||||
.lock()
|
||||
.insert(recorder.name, (ptr, recorder.buffer, recorder.duration));
|
||||
|
||||
#[cfg(has_drtio)]
|
||||
remote_dma::add_traces(ptr, remote_traces);
|
||||
{
|
||||
if let Some((old_id, _v, _d)) = _old_record {
|
||||
remote_dma::erase(_aux_mutex, _routing_table, _timer, old_id).await;
|
||||
}
|
||||
remote_dma::add_traces(ptr, remote_traces);
|
||||
}
|
||||
|
||||
ptr
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue