4 ms·
I've always felt that when dealing with hard real-time requirements, the real-time functionality should be offloaded to a separate dedicated processor that acts
by derekp7 6y ago
I've always felt that when dealing with hard real-time requirements, the real-time functionality should be offloaded to a separate dedicated processor that acts as a buffer.
As another option, it would be nice if modern OS's could dedicate cores on multi-core systems to specific real-time processes. Then the OS can still do whatever it needs, while the real-time process gets guaranteed CPU treatment.
- caspper69 6y agoI have been toying with this idea for far longer than I'd ever care to admit. It works very well. Preemption is evil in a multicore world. Still necessary in spots, but evil nonetheless.
- elcritch 6y agoEven without OS, or SMM on x86's, preemptions modern desktop cpu caches can cause large jitter. Writing/reading to the GPIO registers can take a variable number of cycles. Though I've toyed with disabling Linux scheduling on RPi3's last core and manually run a program on it. Fairly easy to do. It does really help jitter, but still not as reliable as a dedicated MCU.