AEC62XX Driver: Can ANYONE Help!?
Corbett Battaile
ccb at ydl.net
Fri Nov 19 13:13:15 MST 2004
So, at the risk of beating a dead horse, I got around to trying those DMA
benchmarks, and here's the output from hdparm. Looks like disabling DMA
incurs a rather substantial penalty (about a factor of ten) on disk reads
(at least as measured by hdparm).
% hdparm /dev/hde
/dev/hde:
multcount = 0 (off)
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 30401/255/63, sectors = 488397168, start = 0
% hdparm -Tt /dev/hde
/dev/hde:
Timing buffer-cache reads: 584 MB in 2.01 seconds = 290.16 MB/sec
Timing buffered disk reads: 86 MB in 3.04 seconds = 28.27 MB/sec
% hdparm -d0 /dev/hde
/dev/hde:
setting using_dma to 0 (off)
using_dma = 0 (off)
% hdparm -Tt /dev/hde
/dev/hde:
Timing buffer-cache reads: 584 MB in 2.01 seconds = 290.45 MB/sec
Timing buffered disk reads: 8 MB in 3.32 seconds = 2.41 MB/sec
% hdparm -gI /dev/hde
/dev/hde:
geometry = 30401/255/63, sectors = 488397168, start = 0
ATA device, with non-removable media
Model Number: DW CDW5200BS0-K1AB 0
Serial Number: DWW-AM7L2197452
Firmware Revision: 800.D280
Standards:
Supported: 14 13 12 11
Likely used: 14
Configuration:
Logical max current
cylinders 65343 0
heads 4096 0
sectors/track 16128 0
--
device size with M = 1024*1024: 2107703808 MBytes
device size with M = 1000*1000: 2210087628 MBytes (2210087 GB)
Capabilities:
IORDY(may be)(cannot be disabled)
Queue depth: 1
Standby timer values: spec'd by Vendor
R/W multiple sector transfer: Max = 128 Current = ?
Advanced power management level: unknown setting (0x0000)
Recommended acoustic management value: 254, current value: 128
DMA: not supported
PIO: unknown
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- below Vih
Device num = 1 determined by the jumper
Checksum: correct
%
On Fri, 19 Nov 2004, Corbett Battaile wrote:
>
> Good to know - thanks for the info! If I get a chance, I might try some
> benchmarks with and without DMA enabled.
>
> I may also try a Sonnet Tempo 133 card. Based on the board layout, it
> appears to be a Promise chip, and presumably the BIOS is more Mac friendly
> so hopefully I'll be able to leave DMA enabled without getting any errors.
>
> Does anyone have experience with the Sonnet ATA133 card(s) on recent
> kernels? My main concern stems from my experience with Sonnet's Presto
> Gigabit NIC, which is based on a Realtek R8169 chip. Before I bought my
> Presto GigE, I emailed Sonnet tech support to ask if the Presto is
> compatible with YDL. They didn't know. Turns out, I couldn't get the Presto
> to work with YDL, although it works fine with Redhat. Apple's BCM5703 and
> Intel's Pro1000 cards work great with YDL, though. (The former requires
> building and installing the bcm5700 modules for best performance.)
>
> Thanks again,
> - Corbett
>
>
> --On 11/19/04 9:24 AM +0100 Alexander Holst wrote:
> >
> > On Thu, 2004-11-18 at 22:40, Alexander Holst wrote:
> >
> >> Date: Thu, 18 Nov 2004 13:04:34 -0800
> >> From: four of six defective <4_of_6_defective at comcast.net>
> >> Subject: Re: AEC62XX Driver: Can ANYONE Help!?
> >>
> >> If it is a Rev A g3 you may have a problem.
> >> I have one and have not been able to change any
> >> hardware other than the cd drive. It has been nothing
> >> but trouble. In fact I am about to put it out to pasture.
> >
> > See below ;) - I assume some defective hardware ...
> >
> >> Date: Thu, 18 Nov 2004 14:48:27 -0700 (MST)
> >> From: Corbett Battaile <ccb at ydl.net>
> >> Subject: Re: AEC62XX Driver: Can ANYONE Help!?
> >>
> >> Turns out PART of my problems were indeed my fault.
> >> The AEC6280M is still broke, but I managed to get the PDC20269 to work
> >> once I realized that I had jumpered the drives for "Master, with
> >> slave" rather than "Master, single drive." Doh! While I can access the
> >> drives using the Promise card, I do get occasional errors like:
> >> dma_intr: error=0x84 { DriveStatusError BadCRC }
> >> Anyone know if this warrants concern, especially given that the
> >> machines are intended to be file servers?
> >
> > Hi everybody,
> >
> > I do have a beige G3/233 DT Rev. A and have a Promise Ultra100 Tx2 PCI
> > card in it. As a matter of fact, it _is_ working very well with the
> > stock kernels that came with YDL 3.0 and 3.0.1. My Linux drive is
> > attached to the Promise controller, and I am currently writing this
> > email on it ;)
> >
> > I also have two PM7500/100 at work with the same Promise controllers
> > running YDL 3.0.1 as well. Also no problems there. The only caveat is
> > that neither Mac OS9 nor Mac OSX see the drives attached to the
> > controller, so one cannot boot directly off a drive attaced to the
> > controller. Maybe it presents itself to OpenFirmware though, then one
> > should be able to type the full OF path to a kernel manually and boot. I
> > have never investigated into that though.
> >
> > As for the "dma_intr: error=0x84 { DriveStatusError BadCRC }" errors, I
> > also ran into them. A search on a mailinglist reagarding Promise
> > controllers suggested to turn off DMA (as discussed earlier in this
> > thread) with "hdparam -d0 /dev/hdx". The errors stop after that.
> >
> > I added the following line to my rc.sysinit as the first line:
> > /sbin/hdparm -d0 /dev/hda
> >
> > All three described systems have all Linux partitions on drives attached
> > to the Promise controllers and are running extremely stable - one of the
> > 7500s is our firewall / DNS and has uptimes way over 150 days regularly.
> > I do have the feeling though that disabling DMA reduces performance on
> > the drives. Although it is a Ultra100 card in combination with
> > WesternDigital IDE100 drives, it seems that the drive attached to the
> > onboard IDE33 controller of my beige G3 seems to be faster :( According
> > to the boot log, it uses MultiWord DMA - therefore I wouldn't specify to
> > not use DMA by passing "ide=nodma" to the kernel it might prevent all
> > drives from using DMA.
> >
> > from dmesg:
> >
> > Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
> > ide: Assuming 33MHz system bus speed for PIO modes; override with
> > idebus=xx
> > PDC20268: IDE controller at PCI slot 00:0e.0
> > PDC20268: chipset revision 2
> > PDC20268: not 100% native mode: will probe irqs later
> > PDC20268: ROM enabled at 0x81804000
> > ide0: BM-DMA at 0x0800-0x0807, BIOS settings: hda:pio, hdb:pio
> > ide1: BM-DMA at 0x0808-0x080f, BIOS settings: hdc:pio, hdd:pio
> > ide2: Found Apple Heathrow ATA controller, bus ID 0
> > ide3: Found Apple Heathrow ATA controller, bus ID 1
> > Probing IDE interface ide0...
> > hda: WDC WD800JB-00CRA1, ATA DISK drive
> > Unhandled interrupt 18, disabled
> > blk: queue c034e020, I/O limit 4095Mb (mask 0xffffffff)
> > Probing IDE interface ide1...
> > Probing IDE interface ide2...
> > hde: WDC AC24300L, ATA DISK drive
> > Unhandled interrupt d, disabled
> > hde: Enabling MultiWord DMA 2
> > Probing IDE interface ide3...
> > hdg: TEAC CD-W552D, ATAPI CD/DVD-ROM drive
> > Unhandled interrupt e, disabled
> > hdg: Enabling MultiWord DMA 2
> > ide0 at 0x840-0x847,0x832 on irq 24
> > ide2 at 0xd7905000-0xd7905007,0xd7905160 on irq 13
> > ide3 at 0xd7909000-0xd7909007,0xd7909160 on irq 14
> > hda: attached ide-disk driver.
> > hda: host protected area => 1
> > hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=155061/16/63,
> > UDMA(100)
> > hde: attached ide-disk driver.
> > hde: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
> > hde: task_no_data_intr: error=0x04 { DriveStatusError }
> > hde: host protected area => 1
> > hde: 8421840 sectors (4312 MB) w/256KiB Cache, CHS=8912/15/63, (U)DMA
> > ide-cd: passing drive hdg to ide-scsi emulation.
> > hdg: attached ide-scsi driver.
> > Partition check:
> > hda:hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
> > hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
> > hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
> > hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
> > hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
> > hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
> > hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
> > hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
> > PDC202XX: Primary channel reset.
> > ide0: reset: success
> >
> > As you can see, hda through hdd are handled by the PCI controller, hde
> > through hdh are handled by the Apple onboard chips. The "hda: dma_intr:
> > ..." errors stop after rc.sysinit picks up. I wish I knew, how to set
> > the BIOS settings of the card without the use of an Intel based PC (I
> > have none). Maybe that would help in tuning the whole setup.
> >
> > As for the nonoptimal transfer rates due to nonoptimal settings of the
> > BIOS of the card, I don't know how this would perform as a server. Other
> > than that, I am quite happy with all three systems.
> >
> > Hope this helps the original poster of this thread and maybe rings a
> > bell for others to be able to tell me, how I can further optimze
> > performance on my systems, e.g. also get MultiWord DMA enabled on the
> > drives attached to the PCI controller ...
> >
> > Greetings,
> > Alex
--
Corbett Battaile <ccb at ydl.net>
More information about the yellowdog-general
mailing list