Comments by "Mikko Rantalainen" (@MikkoRantalainen) on "The Lunduke Journal" channel.

  1. 5
  2. 2
  3. I'm running PREEMPT kernel even on desktop system because it seems to reduce stutter, jitter and random stalls enough to be noticeable for me. However, it causes lower average throughput (for the same hardware) so it's not without side-effects either. If your brain is happy to use e.g. Bluetooth audio which has built-in delay around 40–200 ms then you probably don't need RT or PREEMPT for anything. I'm unfortunate enough to have brain that can detect latency around 6 ms and I cannot stand to use bluetooth audio because of its latency, and I'm also very sensitive to jitter in the display. For me, it's better to sacrifice some average performance to get rid of those latency spikes that become too noticeable for my taste. I'm looking forward to see if I can see the difference between RT and PREEMPT kernels. I'd hope not because otherwise it would mean I'm probably going to have to sacrifice even more throughput to run RT kernel at all times. If the kernel is controlling something external such as CNC machinery, then RT kernel is obviously mandatory because it is not acceptable for kernel to randomly fail to stop the moving parts of the machines at the correct time. The traditional solution without RT kernels has been more hardware: instead of kernel controlling the CNC machine directly, it controls an extra piece of hardware that does nothing but runs the machine constantly. If you don't have multitasking kernel nor use hardware that can randomly run SMI at will, you have 100% known latency at all times. RT kernel is about allowing hardware to be used for true realtime processing at the same time as using extra CPU cycles for non-RT tasks such as user visible GUI interface.
    1