Re: The Hardy Boys in the case of the mysteriously dissapearing interrupt.

Johnie Stafford (jms@pobox.com)
18 Apr 1997 23:14:00 -0500


>>> On Fri, 18 Apr 1997 12:09:38 +0000, Reverend Neptho <neptho@www.www.unixporn.com> said:

rn> Frank too a look at his system:

rn> 11:45 p4 [www] /tmp #setserial /dev/cua1
rn> /dev/cua1, UART: 8250, Port 0x2f8, IRQ3

rn> (Although Lee Syslog was not very good, he was cheap, $2 5 years ago, and
rn> seemed to work fine at slower 4800/9600 bauds..)

rn> 11:46 p4 [www] /tmp #cat /proc/interrupts
rn> 0: 1959318 timer
rn> 1: 88379 keyboard
rn> 2: 0 cascade
rn> 4: 3647 + serial
rn> 5: 63533 Gravis Ultrasound
rn> 7: 7709112 + serial
rn> [...]

rn> Suddenly, Lee was gone! Lefty Cronjob was still active, and Sally F. Modem
rn> slowly and painfully walked artritically through the net, but Lee was nowhere
rn> to be found!

rn> (The scariest part of this is that I swear I am sober. Really)

I don't know if I understand what you're saying here, but I think it
has something to do with the fact that /proc/interrupts only displays
currently active interrupts. There is a patch for this:

--- linux/arch/i386/kernel/irq.c.orig Wed Sep 11 09:57:13 1996
+++ linux/arch/i386/kernel/irq.c Sun Oct 13 22:45:31 1996
@@ -230,8 +230,11 @@

for (i = 0 ; i < 16 ; i++) {
action = irq_action[i];
- if (!action)
+ if (!action) {
+ len += sprintf(buf+len, "%2d: %10u (currently free)\n",
+ i, kstat.interrupts[i]);
continue;
+ }
len += sprintf(buf+len, "%2d: %10u %c %s",
i, kstat.interrupts[i],
(action->flags & SA_INTERRUPT) ? '+' : ' ',

I've lost the name of the person that originally did this patch, but
it gives all the interrupts active or not.

Johnie

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Johnie Stafford           |  Internet E-mail: jms@pobox.com
 KB5YVF - Lafayette, LA    | Ham Radio Packet: kb5yvf@k5arh.#lftla.la.us.noam
           pobox.com for lifetime email -- mail info@pobox.com
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-