3 ms·
I meant it's unrelated to how fast a CPU clocks up. 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
by clamchowder 4y ago
I meant it's unrelated to how fast a CPU clocks up.
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/devtest/example-15--measuring-dpc-isr-time 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.
- vardump 4y agoMy ISRs execute under 15 µs, some are as fast as 2 µs. I'm well aware of the DPC queueing. > 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.