artiq/artiq/firmware
whitequark 9dfe9c1248 DMA: improve recording performance.
This commit moves DMA serialization code to the kernel CPU
(to cope with the existence of rtio_output_wide) and batches
the resulting sequences. This results in less data being transferred
between kernel and comms CPUs (24 octets with one pointer before,
18 octets with no pointers now, for the common case of rtio_output),
but most importantly reduces cache flushes, which now happen
once per 64k octets.

On average, it now takes about 15us to record a single RTIO event
in a DMA trace.

Fixes #712.
2017-04-15 07:29:52 +00:00
..
ksupport DMA: improve recording performance. 2017-04-15 07:29:52 +00:00
liballoc_artiq compiler, firmware: use Pascal strings everywhere. 2017-02-03 11:53:27 +00:00
liballoc_none firmware: extract liballoc_none into its own crate. 2016-12-31 13:41:32 +00:00
libamp firmware: restructure to avoid #[path = "..."] mod ...; 2017-02-25 17:54:14 +00:00
libboard runtime: add an option to reboot after a panic. 2017-03-14 09:02:28 +00:00
libbuild_artiq firmware: misoc_registers -> misoc_cfg 2017-01-27 23:28:00 +08:00
libdrtioaux drtio: add infrastructure for reporting busy/collision errors 2017-04-02 23:45:55 +08:00
libdyld Implement recording of DMA traces on the core device. 2017-02-26 02:50:20 +00:00
liblogger_artiq firmware: move packet dumps to the DEBUG log level. 2017-03-03 06:11:35 +00:00
libproto DMA: improve recording performance. 2017-04-15 07:29:52 +00:00
libstd_artiq compiler, firmware: use Pascal strings everywhere. 2017-02-03 11:53:27 +00:00
runtime DMA: improve recording performance. 2017-04-15 07:29:52 +00:00
satman drtio: support collision/replace + detect sequence errors at satellite 2017-04-06 01:06:56 +08:00
Cargo.lock runtime: update smoltcp. 2017-03-07 11:36:28 +00:00
Cargo.toml firmware: libksupport → ksupport. 2017-01-31 22:24:37 +00:00