*BSD News Article 15124


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!msuinfo!uchinews!raistlin!runyon.cim.cdc.com!pbd
From: pbd@runyon.cim.cdc.com (Paul Dokas)
Subject: more on strayintr ff
Organization: ICEM Systems, Inc.
Date: Sun, 25 Apr 1993 19:01:20 GMT
Message-ID: <C61zI9.LAK@raistlin.udev.cdc.com>
Sender: usenet@raistlin.udev.cdc.com (News poster)
Lines: 39

I just took a quick dive into the interrupt handling code and have a
little more info on this problem.  First of all, I think that these
interrupts were *ALWAYS* present on many systems, we just never
found out about them.

It is patch #117 that causes them to be reported.  It adds code for
vmstat and iostat, part of which is code that counts both regular
and stray interrupts (/sys/i386/isa/icu.s and /sys/i386/isa/isa.c)

For example, type in vmstat -i and see what the output is.  Mine says:

interrupt      total      rate
stray           65535        0
clk          15479465      100
wd0             75396        0
pc0                 2        0
com0               42        0
com1                1        0
aha0             5658        0
Total        15626099      100

notice the number of stray interrupts.  The count of strays is increasing,
but only when the machine is actually working on something.  If it's
idle, then it only increases very slowly.

Now the stray interrupts are being trapped in icu.s(I think) which then
does some stuff to the interrupt stack frame and then calls stray_intr
with 2(?) parameters, one of which is the number 256 and the other is
some kind of masked value.

So, it's not that there are lots of interrupt #256s happening, it's that
there are lot of interrupts that are not in the range of 0-15.

Does the intr-0.0 package help this problem?
-- 
#include <std.disclaimer>
#define FULL_NAME                          "Paul Dokas"
#define EMAIL                              "pbd@runyon.cim.cdc.com"
/*            Just remember, you *WILL* die someday.             */