Hi,
is there any recommendation on the upper limit of interrupt rate of
devices? I mean, how often should a device raise an interrupt to get a
sane behaviour of the Windows kernel and the driver?
Bye
Alex
Hi,
is there any recommendation on the upper limit of interrupt rate of
devices? I mean, how often should a device raise an interrupt to get a
sane behaviour of the Windows kernel and the driver?
Bye
Alex
I think that should depend on how latency affects your device. If you can
easily tolerate 5ms of latency, then I’d suggest no more than 200 interrupts
per second. If your device is going to overrun its buffers in that time
frame, you’ll obviously need more interrupts.
ISRs are overhead, and they’re reasonably expensive. They interrupt
whatever is going on and force the processor to spill some of its context,
often triggering thread context switches, too.
Networking generally works pretty well when you limit the device to a few
thousand interrupts per second. Storage does even better with batching, for
many workloads. Client systems are often more latency sensitive than server
systems, so I’d pick different policies for a FC HBA than I would for a SATA
device.
Jake Oshins
Windows Kernel Team
This message offers no warranties and confers no rights.
“alex” wrote in message news:xxxxx@ntdev…
Hi,
is there any recommendation on the upper limit of interrupt rate of
devices? I mean, how often should a device raise an interrupt to get a
sane behaviour of the Windows kernel and the driver?
Bye
Alex
Trading between throughput and doing it right and latency is a tricky
business. If you could make it dynamic, it’s great.