You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Trying to record a DMA sequence that is too large to fit into memory results in the core device falling over - it would be useful if the kernel error-ed out with a descriptive exception.
Surely we can at the very least set aside a chunk of memory ourselves on startup to service DMA buffer requests from (i.e. use a local allocator backed by a preallocated region), or use the global allocator directly and handle failure without oom()ing?
(Without having looked at the crash – famous last words – I presume this is from the buffer appending in rtio_dma. Can't we just replace the Vec<u8> by something that is backed by a local allocator and handles failure gracefully? Just hardcoding the amount of RAM to dedicate to DMA traces would be fine to start out with.)
You'd need to "just" rewrite Vec to support specifying allocators explicitly. It seems more straightforward to wait a few days for the RFC to be implemented.
Trying to record a DMA sequence that is too large to fit into memory results in the core device falling over - it would be useful if the kernel error-ed out with a descriptive exception.
Experiment, running on a Kasli DRTIO master (a274af7)
The text was updated successfully, but these errors were encountered: