erase remote ID if name is overwritten
parent
7bd5413fbe
commit
ca51cf7729
|
@ -323,7 +323,7 @@ async fn handle_run_kernel(
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
kernel::Message::DmaPutRequest(recorder) => {
|
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)]
|
#[cfg(has_drtio)]
|
||||||
rtio_dma::remote_dma::upload_traces(aux_mutex, routing_table, timer, _id).await;
|
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)]
|
#[cfg(has_drtio)]
|
||||||
let mut remote_traces: BTreeMap<u8, Vec<u8>> = BTreeMap::new();
|
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;
|
let ptr = recorder.buffer[padding..].as_ptr() as u32;
|
||||||
|
|
||||||
DMA_RECORD_STORE
|
let _old_record = DMA_RECORD_STORE
|
||||||
.lock()
|
.lock()
|
||||||
.insert(recorder.name, (ptr, recorder.buffer, recorder.duration));
|
.insert(recorder.name, (ptr, recorder.buffer, recorder.duration));
|
||||||
|
|
||||||
#[cfg(has_drtio)]
|
#[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
|
ptr
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue