cvs commit: src/sys/kern kern_intr.c
Bruce Evans
bde at FreeBSD.org
Sat Jun 5 18:27:43 GMT 2004
bde 2004-06-05 18:27:28 UTC
FreeBSD src repository
Modified files:
sys/kern kern_intr.c
Log:
Detect interrupt storms better. The storm detection didn't work at all
with an ASUS A7N8X-E motherboard in APIC mode, since storming interrupts
don't repeat immediately. Use DELAY(1) to wait a bit for them to repeat.
This affects all systems. Only delay for the first
(10 * intr_storm_threshold) interrupts (per interrupt handler) so that
this is only a pessimization while warming up. Throttle after calling
the sub-handlers instead of before so that the long delay given by
throttling can be used instead of the DELAY(1) to detect storms after
warming up.
Reduced the throttling period from 1/10 second to 1/hz seconds so that
throttling doesn't destroy performance so much. Interrupts that are
detected as storming are effectively handled by polling at a frequency
of hz Hz. On A7N8X-E's there is another hardware or configuration bug
that makes the throttled frequency closer to 2*hz Hz.
Revision Changes Path
1.109 +50 -23 src/sys/kern/kern_intr.c
More information about the cvs-src
mailing list