I read that an interrupt in Linux (this was about a Raspberry Pi) can take a "long time" to process or let's say "start doing what the programmer wants". Is that true and how bad is it? Is there a big difference between Python and C?
In hardware ("bare metal") it should only take a few cycles to jump the start of an interrupt handler procedure/function, correct? If I interpret this correctly, on the new Raspberry Pi 4 it should take less than 10 nanoseconds. I'm mostly interested in the Raspberry Pis and other ARM-based hardware, but data for other platforms would also be nice. I assume an ARM bare metal is a lot faster than an AVR (Arduinos)..?
Edit: Clarified question somewhat. Thanks @dirkt!
Bonus question: In pure assembly without an OS I can probably expect the time from physical event to my interrupt handler procedure running to be pretty much the same every time. How much does it vary in Linux? (Because the kernel might have other things to do, etc)
Edit 2: Found this blogpost, which pits a Raspberry Pi Zero against an Arduino Uno. The author also tried a kernel module which seems to be almost as fast as a bare metal AVR (but it's a 16 MHz AVR vs a 1GHz ARM!), which, I wonder, is how close to bare metal on the ARM? Pretty close to my original question, but without bare metal ARM.