On ARM, I am using Zero Latency Interrupts for the really critical (and not time-consuming) stuff. That would be things like sampling inputs and updating outputs. I haven't used NuttX on amd64, so I don't know how to implement that there.
The current implementation of zero latency interrupts is very dependent to the ARMv7-M architecture which can execute C code with no intervening assembly language. it zero "zero latency" because there is no intervening processing between the hardware interrupt events and the execution of C code. That is a pretty unique feature of the ARMv7-M (and 6-M and 8-M) architectures.
You could still implement some minimal, lightweight, handling on other architectures but it would probably have to be called "near zero latency interrupts."