Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by neilpanchal on Tuesday September 01, 2020 @03:32PM
(#24345987)
Also RTLinux kernel: https://en.wikipedia.org/wiki/RTLinux
[ Parent
| on HN ]
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by monocasa on Tuesday September 01, 2020 @03:57PM
(#24346295)
RTLinux is soft real time, FWIW.
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by rudolph9 on Tuesday September 01, 2020 @04:12PM
(#24346453)
Can you elaborate? The wiki says it combines hard-realtime with soft-realtime. It sounds like it depends how you configure it but this is the first I’ve read of it so I could be mistaken.
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by kijiki on Tuesday September 01, 2020 @05:20PM
(#24347207)
They're just mistaken, RTLinux is hard realtime. It works by running a tiny real time OS on the bare metal, and then running a Linux kernel as a (lightly) paravirtualized lowest priority task. You write your hard realtime code to run on the RTOS, and then your soft/non realtime code runs on Linux.
In this model, your compositor, input pipeline and (at least the UI latency sensitive part of) your applications would have to be ported to the RTOS, which makes this pretty infeasible. But it works really well if you have a some hard-realtime control loop talking to a bunch of non-realtime network IO or UI code. Would be a fun way to build a wifi controlled quadcopter.
These days you probably want to use Xenomai, or possibly RTAI.
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by monocasa on Tuesday September 01, 2020 @06:19PM
(#24347796)
Yes, I was mistaken. I was thinking of the preempt_rt patches.
Thanks for the great writeup correcting me!
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by als0 on Tuesday September 01, 2020 @05:20PM
(#24347211)
RTLinux is a special supervisor below the kernel that allows you to run "hard-realtime" programs outside of the Linux environment with a lot of restrictions. Everything within the Linux environment is soft. As far as I can tell, it's not feasible to run the GUI stack in the more primitive environment.