Dave Anderson wrote:
> If I'm reading it correctly, this bit of the dmesg says that my hard
> drive is not using DMA -- and so is running very inefficiently:
> 
> wdc0 at isa0 port 0x1f0/8 irq 14
> wd0 at wdc0 channel 0 drive 0: <Maxtor 91024D4>
> wd0: 16-sector PIO, LBA, 9765MB, 19999728 sectors
> wd0(wdc0:0:0): using BIOS timings
> 
> This isn't a big deal, since the system (a light-duty home firewall
> built from old junk I had lying around) can handle the presented load
> despite this issue -- but I'd like to understand what's happening. 
> AFAIK all of the hardware involved is DMA-capable.

As Todd indicated, you are wrong. 8-)


First of all, keep in mind P90s were shipped in the Windows 3.1 days,
DMA support was something that was talked about, but like the Compaqs
that shipped with 80386 chips that had defective 32 bit math operations,
by the time anyone actually noticed these chips didn't really work in
the UDMA mode, the machines were way out of warranty.  Problem solved. :)

> "PC Technology RZ1000" rev 0x01 at pci0 dev 1 function 0 not configured

This is your IDE chip.  Note that OpenBSD recognizes it but does not
configure it with pciide(4).  This is very deliberate.

http://www.openbsd.org/plus27.html
search for "DMA"...see what you see. :)

So...instead of working with pciide, it works with:

> wdc0 at isa0 port 0x1f0/8 irq 14

the ISA disk interface, which does not support DMA.

> wd0 at wdc0 channel 0 drive 0: <Maxtor 91024D4>
> wd0: 16-sector PIO, LBA, 9765MB, 19999728 sectors
> wd0(wdc0:0:0): using BIOS timings
> wdc1 at isa0 port 0x170/8 irq 15

Note how wd0 attached to wdc0, rather than pciide0, which you would
normally expect.

I have a dozen or so Zenith ZStation EX P90 systems which have this same
quirk.  Great machines, they run forever (and need a BIOS upgrade to
work with >8G drives)...but no DMA.  That's entirely ok, you won't miss
it for a firewall.  (btw: all those people who you see wanting to run
flash devices for their firewall..they don't have UDMA, either.
Sometimes disk performance matters.  Not on a home or small office
firewall).  You can disable the processor fan (or let it die of old
age), the thing runs cold with OpenBSD.  These machines will probably be
running long after the new P4 and AMD machines have died due to fan failure.

BTW: your 10G drive probably has a jumper to bring it below 8G or 2G,
which is more than enough for a firewall, and will speed the boot.  You
will lose the rest of your disk, however.

Something I have had good luck with on SOME old Dell BIOSs is to
hard-code the drive parameters as 1024/16/63 (504M), rather than
autodetecting.  As long as your root partition is in that first 504M,
the system will boot without problem or delay, as it won't try to detect
the disk parameters at all, and OpenBSD will properly detect the entire
disk.

Nick.

Reply via email to