Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by qppo on Tuesday September 01, 2020 @04:49PM
(#24346896)
You can implement hard real-time scheduling using polling instead of interrupts, which is usually faster anyway. It just changes how you measure your tolerance, since nothing is instantaneous, ever.
[ Parent
| on HN ]
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by joshvm on Tuesday September 01, 2020 @06:32PM
(#24347896)
Yep, more that actually being able to turn interrupts off is a barrier to doing real time work on desktop OS's, for example. Even if you can disable them globally (I think on the Pi you can with some low level C), but stuff goes wonky quickly e.g. if the WiFi soc doesn't get serviced.
It's a good lesson to play with polling versus interrupts on a micro. Susprising just how many cycles it takes to jump into the ISR.
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by ChuckNorris89 on Tuesday September 01, 2020 @05:10PM
(#24347097)
This! Automotive hard real time is polling based.
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by qppo on Tuesday September 01, 2020 @05:24PM
(#24347254)
I think most things are trending that direction, even in soft/non real-time. How fast can an interrupt respond these days anyway, a dozen microseconds?
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by ianhowson on Tuesday September 01, 2020 @05:30PM
(#24347318)
Nanoseconds if you can respond inside the interrupt handler ('top half' in Linux.) Microseconds to milliseconds with significant variability if you need to be scheduled ('bottom half'.)
Re:Nvidia Unveils GeForce RTX 30 Series GPUs
by jacquesm on Tuesday September 01, 2020 @05:41PM
(#24347440)
And that only if your codepath is deterministic. Linux can do pretty funny stuff at times.
I've run a plasma cutter under Linux on a run-of-the-mill VIA SBC, it was actually pretty easy: just make a program setuid root, use that to disable interrupts after you've read all your data in and then just go wild on polled and precision timed IO until you're done. Re-enable interrupts and return as if nothing ever happened.