Doch, das ist der Teil, der die "system"-Last erzeugt, im Kernel. "system"-Last ist auch besonders doof, da der Kernel nicht preemptive ist. Mit 2.6 wäre das nicht so dramatisch.
Mit folgendem Skript erhöht sich die Kernel last (sys) bei mir um 3-5%:
while sleep 1; do
cat /proc/interrupts > /dev/null
done
Da du vermutlich öfters pollst (ich habe den Source nicht angeschaut), wirkt sich das durchaus bemerkbar aus.
/proc/interrupts ist im Kernel relativ "teuer", auch weil es durchs VFS muß. Wenn du es unbedingt im Userspace pollen willst, dann mach einen ioctl (der dann nur den Zählerstand vom interrupt 8 zurückgibt) dafür in das aviaEXT Device, das ist wesentlich billiger.
Edit: selbstverständlich ist dann auch das Problem gelöst, daß avia_check sich die Rechenzeit mit shellexec & co teilen muß und deswegen fehlauslöst.