Implement an emergency interrupt polling feature. When enabled, most
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 15 Oct 2005 03:23:01 +0000 (03:23 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 15 Oct 2005 03:23:01 +0000 (03:23 +0000)
commita9d00ec1f35adcdb56cd310c1b2fcc7ada9c5ee8
treea59d4d4f2f3b9e49487608e23e9dc63479f46c67
parent83b29fff90cd1f279486c0672b7adbe946b26672
Implement an emergency interrupt polling feature.  When enabled, most
interrupt handlers installed on the system will be polled at the specified
frequency.  The exceptions are the 8254 clock and ATA interrupts (ATA can
blow up if it gets a fake interrupt, and the 8254 needs to work for systimers
to work which the poller is based on).  These variables may be specified
in /boot/loader.conf and/or adjusted on a live system with sysctl.

kern.emergency_intr_enable (default 0 = off)
kern.emergency_intr_freq (default 10 = 10 hz)

THIS FEATURE IS NOT DESIGNED TO BE USED ON PRODUCTION SYSTEMS.  It should be
used only for kernel development, debugging, and testing, to get devices to
work that would otherwise not work due to messed up interrupt routing, or if
you have no other choice.  This feature has VERY HIGH OVERHEAD, as a dozen or
more service routines may be called on each tick.  The feature can be
life-safer e.g. on machines that would otherwise not work at all with
DragonFly, to get them working well enough that they can communicate with
the outside world.  As mentioned already, the primary use of this feature
is to aid in kernel development.
sys/i386/isa/clock.c
sys/kern/kern_intr.c
sys/platform/pc32/isa/clock.c