General statistics
List of Youtube channels
Youtube commenter search
Distinguished comments
About
Mikko Rantalainen
The Lunduke Journal
comments
Comments by "Mikko Rantalainen" (@MikkoRantalainen) on "Linux has Real-Time now. What the fart does that actually mean?" video.
Real time kernel in nutshell: sacrifice some throughput all the time to avoid bad worst case behavior. Generic kernel is about maximum throughput while ignoring rare edge cases with high latency (e.g. it's acceptable that system handles some event with 500 ms extra delay randomly a couple of times a day if that allows the system to get more work done per second on average). In gaming terms, generic kernel is about average FPS or 1% low FPS, but real time kernel is purely about 0.0000000001% low FPS.
5
You may want RT kernel even for servers if you're experienced in worst case performance instead of average performance. Depending on the use case, the clients may require known timeouts.
2
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