artiq/artiq/firmware/libproto
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
..
Cargo.toml firmware: restructure to avoid #[path = "..."] mod ...; 2017-02-25 17:54:14 +00:00
analyzer_proto.rs firmware: specialize protocol read/write functions. 2017-02-26 18:24:37 +00:00
kernel_proto.rs DMA: improve recording performance. 2017-04-15 07:29:52 +00:00
lib.rs Extract core device management interface from session interface (#691). 2017-03-29 03:36:21 +00:00
mgmt_proto.rs artiq_coreboot: allow hot-rebooting the device. 2017-04-11 03:24:24 +00:00
moninj_proto.rs firmware: specialize protocol read/write functions. 2017-02-26 18:24:37 +00:00
rpc_proto.rs firmware: move packet dumps to the DEBUG log level. 2017-03-03 06:11:35 +00:00
session_proto.rs Extract core device management interface from session interface (#691). 2017-03-29 03:36:21 +00:00