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

William Stearns (wstearns@pobox.com)
Tue, 28 Apr 1998 19:00:56 -0400 (EDT)


On Mon, 27 Apr 1998, Linus Torvalds wrote:

> could everyone involved with this discussion please check out:
>
> ftp://ftp.kernel.org/pub/linux/kernel/testing/
> pre-patch-2.1.99-1.gz
>
> which is a cleanup of my previous patches wrt irq handling, and also fixes
> a real bug (we used to ACK the io-apic outside the irq-controller lock,
> which meant that the ack's we did and "ipi_pending[]" might have gotten
> out of sync - which could certainly have resulted in bad behaviour).

A quick success report... :-)
From somewhere in the middle of the 2.1.90's to 2.1.97 I had
almost immediate crashes with the first packet through my NE2000
compatible pcmcia card. As long as I had the network cable
disconnected, the driver loaded just fine and there was no crash. Also,
as long as I used a modem, everything else worked fine.
The crash took the form of the kernel (I assume) spitting out the
contents of memory to the screen. I could just barely make out the mail I
had been reading a few minutes earlier being scrolled at a truly
awe-inspiring rate.
With 2.1.99-pre1 on a clean 2.1.98, that crash has disappeared.
Ping floods, email, telnet all work fine now. If that changes tomorrow
when the lan is being used more heavily, I'll let you know...
The only sign of any discontent from dmesg is:
eth0: Tx timed out, cable problem? TSR=0x42, ISR=0x0, t=819.
at first use, but this only appears to show up once during the 10
second pause before packets get going.

I have to admit I don't think I've used the floppy in the 2.1.90's
at all, but at the very least copying to and from a vfat floppy works
without a hitch.

The memory changes in the mid 90's have made a _huge_ difference
in my ability to read my 6-12M linux-kernel folder on this limited memory
machine. On .89, I have .5 to 3 minute pauses while pine syncs out the
mail file every 5 or ten minutes (someday I've just _got_ to figure out
how to use tenex format mailboxes!). With mid 90's up to the current .99,
sorts and syncs happen in less than 15 seconds. Thanks to the mm hackers!
To be fair, thanks to everyone that brought the linux kernel to where it
is today - you know who you are :-).

System summary:
AST cacheless 486SX-33 laptop, 20M (*), internal 1.3G ide, IBM
home and away pcmcia card (8390 w/ 14.4 modem), generic 33.6 pcmcia modem

Software
Redhat 5.0 with updates, pcmcia-cs 3.0.1 (apr-27 snapshot),
gcc-2.7.2.3.
A complete (223K) summary of the (4.4 hour :-) compile with a log
of relevant packages and configuration choices used is available on
request.

> This also re-enables the code that replays interrupts in enable_irq(),
> because it should be ok now that the rest of the code is cleaned up.
> People that had the earlier problem with locking up with floppies, please
> test: if this re-introduces the lockup, please just #if 0 out all the code
> inside trigger_pending_irqs(), and send me a note telling me that that
> code still doesn't work.

No manual modifications were necessary for me.

> Linus

Cheers, and thanks again,
- Bill

* I'd get more, but the Ascentia 800N has a design limit of 20M :-(

---------------------------------------------------------------------------
Unix _is_ user friendly. It's just very selective about who its friends
are. And sometimes even best friends have fights.
William Stearns (wstearns@pobox.com)
---------------------------------------------------------------------------

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