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.