Re: enable_ioapic_irq broken in arch/i386/kernel/irq.c

David Woodhouse (Dave@imladris.demon.co.uk)
Sun, 26 Apr 1998 05:38:44 +0200


torvalds@transmeta.com said:
> Would some io-apic people try out this patch to irq.c (patch against
> 2.1.98)? It simplifies the irq handling quite a bit, I'd like to hear
> whether it is stable for you..

It appears to be utterly buggered.

Upon first attempt: it got about as far as starting syslogd, before printing
"eth0: Re-entering the interrupt handler" seven times and locking hard.
The offending device was a tulip card, so I updated to Donald Becker's latest
(v0.89B) and recompiled.

Upon second attempt, it got a little further through the init scripts, before
it died with a bloody great string of oopsen, one of which went something like:

page fault from irq handler: 0000
Aiee, killing interrupt handler.
CPU: xxx (about 66513 ISTR)
EIP: 0010:[<c011aa8f>]
EFLAGS: xxxxxxxxx
eax: c0104000 ebx: c0104000 ecx: 00000202 edx: 00000000
esi: 00000000 edi: 0086c8c0 ebp: 0000000c esp: c0104678
ds: 0018 es: 0018 ss: 0018
Process (pid: 0, process nr: 0, stackpage=xxxxxxxx)
Stack: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Call Trace: [<c01046e0>] [<c01046e0>] [<c010a42b>] [<c0104000>] [<c0111c43>] [<c01e4b89>] [<c01046e0>]
Code: 83 7e 0c 01 75 0b 0f 20

>>EIP: c011aa8f <do_exit+7b/230>
Trace: c01046e0 <empty_bad_page_table+6e0/1000>
Trace: c01046e0 <empty_bad_page_table+6e0/1000>
Trace: c010a42b <die_if_kernel+67/6c>
Trace: c01046e0 <empty_bad_page_table+6e0/1000>
Trace: c0111c43 <do_page_fault+37/3ec>
Trace: c01e4b89 <bad_pmd_string+1bb/336>
Trace: c01046e0 <empty_bad_page_table+6e0/1000>
Code: c011aa8f <do_exit+7b/230>
Code: c011aa8f <do_exit+7b/230> 83 7e 0c 01 cmpl $0x1,0xc(%esi)
Code: c011aa93 <do_exit+7f/230> 75 0b jne c011aaa0 <do_exit+8c/230>
Code: c011aa95 <do_exit+81/230> 0f 20 00 movl %cr0,%eax
Code: c011aab0 <do_exit+9c/230> 90 nop
Code: c011aab1 <do_exit+9d/230> 90 nop
Code: c011aab2 <do_exit+9e/230> 90 nop

Admittedly, this kernel's got the PC Speaker driver in it, and is compiled
with egcs -mcpu=pentium -march=pentium, but that's no excuse.

---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
Dave@imladris.demon.co.uk http://www.imladris.demon.co.uk
finger pgp@dwmw2.robinson.cam.ac.uk for PGP key.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu