0.5 ms is not really much on Windows.
If something is taking longer than 0.5 ms, you shouldn't be doing it in the ISR. Queue up a DPC and do your longer running processing there, or send it to user space. And yeah it might not be your fault if another driver's ISR was hogging the CPU core. That's just a case of a badly written driver screwing up the world for everyone, because they're not supposed to be doing long running stuff in an ISR in the first place.
https://docs.microsoft.com/en-us/windows-hardware/drivers/de... says an ISR shouldn't run longer than 25 microseconds. 0.5 ms is an order of magnitude off. Not something going from 800 MHz to locked 4 GHz will fix.
> ISR shouldn't run longer than 25 microseconds
Weird, I think I read 50 microseconds somewhere else. Maybe I just remember it wrong?
> 0.5 ms is an order of magnitude off. Not something going from 800 MHz to locked 4 GHz will fix.
0.5 ms is actually not that far fetched with higher priority interrupts masking and the delay for Windows ISR dispatching. There are also SMM missing time black holes occasionally.
Windows isn't a real-time OS for sure! Although can't blame SMMs on Windows.