Re: IDE still misbehaving in pre-2.1.89-4 [WAS: Can't set UltraDMA mode 2 on Quantum Fireball SE]

Adam D. Bradley (artdodge@cs.bu.edu)
Tue, 3 Mar 1998 05:25:53 -0500 (EST)


On Sun, 1 Mar 1998, MOLNAR Ingo wrote:

> On Sat, 28 Feb 1998, Adam D. Bradley wrote:
>
> > Unfortunately, IDE is unstable in 2.1.85 and on, at least under SMP.
>
> > peter kernel: PIIX3: IDE controller on PCI bus 0 function 57
> > peter kernel: PCI->APIC IRQ transform: (B0,I7,P-1) -> -1
> > peter kernel: PIIX3: not 100% native mode: will probe irqs later
> > peter kernel: ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
> > peter kernel: ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
>
> > (P.S. - 2.1.84 was rock-solid-stable, and I didn't see much in 2.1.85
> > that should've touched IDE directly. IO-APIC changes maybe? Guess I
> > better hack up a 2.1.89-4 kernel to compile for UP and start hammering
> > it...)
>
> yes, it could well be the IO-APIC changes. It must be related to your
> hardware configuration as i have a BM-DMA setup as well, but no problems.
> A few suggestions to find out what the differece is:
>
> - could you try testing with a _single_ disk?

In all of my tests, I've _only_ been hitting hda. hdb and hdc and
my SCSI disks are idle and unmounted.

> - testing UP mode is a good idea as well...

This is the one thing I haven't done yet... (I sank good money into
this hardware, and I'll go down in flames with it before I let that
second processor sit 100% idle ;-> ...)

> - turn off DMA with hdparm -d0 /dev/hd[ac]

Tried this, I could still produce the same effect (although I managed
to ^C kill off all of the processes I was loading the system with
before it got bad enough to panic, so the onset wasn't as fast).

> - turn off IO-APIC irqs for the IDE driver, just add this to
> io_apic.c, right after setup_IO_APIC_irqs():
>
> setup_IO_APIC_irqs();
> make_8259A_irq(14);
> make_8259A_irq(15);
> ...

When I booted a kernel with these changes, it siezed up _hard_:

PIIX3: IDE controller on PCI bus 0 function 57
PCI->APIC IRQ transform: (B0,I7,P-1) -> -1
PIIX3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
hda: QUANTUM FIREBALL ST3.2A, ATA DISK drive
hdb: MAXTOR LXT-340A, ATA DISK drive

[freezes here, keys do nothing, hdc is not reported; also, both the
floppy and hda lights on the system unit come on and don't go off.]

Also (in case you missed it) I tried a patch from Gadi that tried to
account for interrupt latency out-running the hardware dropping the
{ Busy } flag, that didn't fix anything either (and I didn't have a
chance to finish repairing my spectacularly-crashed filesystem until
this morning).

> but it's also true that systems with the IO-APIC code get used much
> harder, it could tickle otherwise inactive hardware bugs. (but this was
> not the case until your report, so i'd really first suspect some ide*.c
> incompatibility wrt the IO-APIC changes)

There's something subtle going on here. I have one more suspicion I'm
going to rule out this morning, and if that doesn't work I guess I'll
have no choice but to hack together a UP kernel and see if the problem
is still repeatable.

Thanks for the hints so far, (still open to suggestions!)
Adam

--
All my instincts, they return      Adam D. Bradley      artdodge@cs.bu.edu
The grand facade so soon will burn      Boston University Computer Science
Without a noise, without my pride            Grad student and Linux hacker
I reach out from the inside    ----------> In Your Eyes  --------->    <><

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