2001-11-05 06:51:00

by Ryan Hayle

[permalink] [raw]
Subject: Poor IDE performance with VIA MVP3

I have a VIA MVP3 (VT82C586B) controller on my motherboard, and am
experiencing extremely poor performance with a Maxtor 20G
(52049U4) drive. It is an UDMA66-capable drive, but I'm only attempting
to use UDMA33 (with an 80-pin cable, as recommended).

The drive is detected and works just fine, with no errors reported,
however the acces is painfully slow. hdparm -t varries from 970 K/sec to
2.5 M/sec. (See below)

The drive is attached by itself to the first IDE channel. On the second I
have a Maxtor 6.8G (90680D4) and a CDROM. hdparm -t on the second drive
typically gives 8-9 M/sec. I manually set this drive with hdparm -X34
(mdma2), otherwise it generates errors.

I have tried Linux 2.2.19, 2.4.12, and now 2.4.13, and all exhibit this
same behavior. I was originally running with a 40-pin cable, and switched
it to the 80 to see if it might help, but it had no effect. As some
background information, I was originally running linux off of the second
6G drive, and opted to move it onto the 20G because it got better
performance. Once I did this, however, the drive started performing
slowly like this, regardless of whether I'm booting to it or the 6G
drive.

Does this sound like it's just a hardware problem? Has anyone experienced
anything similar to this? Any advice would be greatly apreciated.

Thanks,
Ryan Hayle
Please CC replies...

Some relevent bits of info below...

>From dmesg:
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
VP_IDE: VIA vt82c586b (rev 47) IDE UDMA33 controller on pci00:07.1
ide0: BM-DMA at 0xe000-0xe007, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xe008-0xe00f, BIOS settings: hdc:DMA, hdd:DMA
hda: Maxtor 52049U4, ATA DISK drive
hdc: Maxtor 90680D4, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 40020624 sectors (20491 MB) w/2048KiB Cache, CHS=2491/255/63,
UDMA(33)
hdc: 13281408 sectors (6800 MB) w/256KiB Cache, CHS=13176/16/63, UDMA(33)
Partition check:
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3
/dev/ide/host0/bus1/target0/lun0: p1 p2 p3


hdparm -it /dev/hda /dev/hdc

/dev/hda:

Model=Maxtor 52049U4, FwRev=DA6207V0, SerialNo=K40GTYJC
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=40020624
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4
Timing buffered disk reads: 64 MB in 45.08 seconds = 1.42 MB/sec

/dev/hdc:

Model=Maxtor 90680D4, FwRev=PAS23B15, SerialNo=V40667NA
Config={ Fixed }
RawCHS=13176/16/63, TrkSize=0, SectSize=0, ECCbytes=29
BuffType=DualPortCache, BuffSize=256kB, MaxMultSect=16, MultSect=16
CurCHS=13176/16/63, CurSects=13281408, LBA=yes, LBAsects=13281408
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 *mdma2 udma0 udma1 udma2
Timing buffered disk reads: 64 MB in 7.37 seconds = 8.68 MB/sec



/proc/ide/via
----------VIA BusMastering IDE Configuration----------------
Driver Version: 3.29
South Bridge: VIA vt82c586b
Revision: ISA 0x47 IDE 0x6
Highest DMA rate: UDMA33
BM-DMA base: 0xe000
PCI clock: 33MHz
Master Read Cycle IRDY: 1ws
Master Write Cycle IRDY: 1ws
BM IDE Status Register Read Retry: yes
Max DRDY Pulse Width: No limit
-----------------------Primary IDE-------Secondary IDE------
Read DMA FIFO flush: yes yes
End Sector FIFO flush: no no
Prefetch Buffer: no no
Post Write Buffer: no no
Enabled: yes yes
Simplex only: no no
Cable Type: 40w 40w
-------------------drive0----drive1----drive2----drive3-----
Transfer Mode: UDMA DMA DMA DMA
Address Setup: 30ns 120ns 30ns 120ns
Cmd Active: 90ns 90ns 90ns 90ns
Cmd Recovery: 30ns 30ns 30ns 30ns
Data Active: 90ns 330ns 90ns 330ns
Data Recovery: 30ns 270ns 30ns 270ns
Cycle Time: 60ns 600ns 120ns 600ns
Transfer Rate: 33.0MB/s 3.3MB/s 16.5MB/s 3.3MB/s


/proc/pci:
PCI devices found:
Bus 0, device 0, function 0:
Host bridge: VIA Technologies, Inc. VT82C597 [Apollo VP3] (rev 4).
Master Capable. Latency=16.
Prefetchable 32 bit memory at 0xe0000000 [0xe3ffffff].
Bus 0, device 1, function 0:
PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP] (rev 0).
Master Capable. No bursts. Min Gnt=4.
Bus 0, device 7, function 0:
ISA bridge: VIA Technologies, Inc. VT82C586/A/B PCI-to-ISA [Apollo VP] (rev 71).
Bus 0, device 7, function 1:
IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 6).
Master Capable. Latency=64.
I/O at 0xe000 [0xe00f].
Bus 0, device 7, function 3:
Host bridge: VIA Technologies, Inc. VT82C586B ACPI (rev 16).
IRQ 9.
Bus 0, device 8, function 0:
VGA compatible controller: nVidia Corporation Riva TnT 128 [NV04] (rev 3).
IRQ 11.
Master Capable. Latency=248. Min Gnt=5.Max Lat=1.
Non-prefetchable 32 bit memory at 0xe4000000 [0xe4ffffff].
Prefetchable 32 bit memory at 0xe5000000 [0xe5ffffff].
Bus 0, device 9, function 0:
Multimedia video controller: Brooktree Corporation Bt848 TV with DMA push (rev 17).
IRQ 10.
Master Capable. Latency=64. Min Gnt=16.Max Lat=40.
Prefetchable 32 bit memory at 0xe8001000 [0xe8001fff].
Bus 0, device 11, function 0:
Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 0).
IRQ 5.
Master Capable. Latency=64. Min Gnt=10.Max Lat=10.
I/O at 0xe800 [0xe87f].
Non-prefetchable 32 bit memory at 0xe8000000 [0xe800007f].



2001-11-05 14:12:55

by Denis Vlasenko

[permalink] [raw]
Subject: Re: Poor IDE performance with VIA MVP3

On Monday 05 November 2001 06:50, Ryan Hayle wrote:
> I have a VIA MVP3 (VT82C586B) controller on my motherboard, and am
> experiencing extremely poor performance with a Maxtor 20G
> (52049U4) drive. It is an UDMA66-capable drive, but I'm only attempting
> to use UDMA33 (with an 80-pin cable, as recommended).
>
> The drive is detected and works just fine, with no errors reported,
> however the acces is painfully slow. hdparm -t varries from 970 K/sec to
> 2.5 M/sec. (See below)

Are you saying that hdparm -T -t is yielding wildly varying results?
Looks similar to failing hd symptoms or bug in IDE layer causing retries
after error/timeout. What's in the logs?

> The drive is attached by itself to the first IDE channel. On the second I
> have a Maxtor 6.8G (90680D4) and a CDROM. hdparm -t on the second drive
> typically gives 8-9 M/sec. I manually set this drive with hdparm -X34
> (mdma2), otherwise it generates errors.
>
> I have tried Linux 2.2.19, 2.4.12, and now 2.4.13, and all exhibit this
> same behavior. I was originally running with a 40-pin cable, and switched
> it to the 80 to see if it might help, but it had no effect. As some
> background information, I was originally running linux off of the second
> 6G drive, and opted to move it onto the 20G because it got better
> performance. Once I did this, however, the drive started performing
> slowly like this, regardless of whether I'm booting to it or the 6G
> drive.
>
> Does this sound like it's just a hardware problem? Has anyone experienced
> anything similar to this? Any advice would be greatly apreciated.

Well, I had problems with drives refusing to do [u]dma.
On my home machine I found out that compiling kernel with support for VIA
chipset allowed udma to work ok (hdparm -T -t = ~20mb/s). Without that
support, my hd was stuck in pio, ~6mb/s.
--
vda

2001-11-05 17:43:04

by Ryan Hayle

[permalink] [raw]
Subject: Re: Poor IDE performance with VIA MVP3

On Mon, 05 Nov, 2001 at 04:12:00PM +0000, vda wrote:
> Are you saying that hdparm -T -t is yielding wildly varying results?
> Looks similar to failing hd symptoms or bug in IDE layer causing retries
> after error/timeout. What's in the logs?

hdparm -T (buffer-cache reads) gives good numbers, 43v69 M/sec just
now. But that's only mesuring reading from the drive's 2M cache (I
believe?). It is the hdparm -t test (buffered disk reads) that is the
problem. As I said, I don't receive any errors or retries
whatsoever. Everything seems to be working perfectly, just very, very
slow...

> Well, I had problems with drives refusing to do [u]dma.
> On my home machine I found out that compiling kernel with support for VIA
> chipset allowed udma to work ok (hdparm -T -t = ~20mb/s). Without that
> support, my hd was stuck in pio, ~6mb/s.

That's the thing--it claims to be in UDMA mode, and again I get no
errors. Even when I do 'hdparm -d1 -X66 /dev/hda", everything works fine,
without errors, only the speed problems persist. Oh, and I have compiled
my kernel with VIA IDE support, it makes no difference in the performance.

It's sounding more and more like this isn't a driver/chipset problem, but
something wrong with the HD itself. Thanks for your insight.

Ryan

2001-11-05 17:58:15

by Daniel R. Warner

[permalink] [raw]
Subject: Re: Poor IDE performance with VIA MVP3

Ryan Hayle wrote:

> hdparm -T (buffer-cache reads) gives good numbers, 43v69 M/sec just
> now.

<snip>


> It's sounding more and more like this isn't a driver/chipset problem, but
> something wrong with the HD itself. Thanks for your insight.

I think that this is probably the case. I just tested a Maxtor drive on
a MVP3 on 2.4.12-ac6, 2.4.13-ac7, and 2.4.14-pre8 (all with the preempt
patch applied) and get ~8.5MB/sec on buffered disk reads, and ~55MB/sec
on buffer-cache reads.

-D


2001-11-05 19:55:20

by Mike Maravillo

[permalink] [raw]
Subject: Re: Poor IDE performance with VIA MVP3

On Mon, Nov 05, 2001 at 11:42:43AM -0600, Ryan Hayle wrote:
> On Mon, 05 Nov, 2001 at 04:12:00PM +0000, vda wrote:
> > Are you saying that hdparm -T -t is yielding wildly varying results?
> > Looks similar to failing hd symptoms or bug in IDE layer causing retries
> > after error/timeout. What's in the logs?
>
> hdparm -T (buffer-cache reads) gives good numbers, 43v69 M/sec just
> now. But that's only mesuring reading from the drive's 2M cache (I
> believe?). It is the hdparm -t test (buffered disk reads) that is the
> problem. As I said, I don't receive any errors or retries
> whatsoever. Everything seems to be working perfectly, just very, very
> slow...
>
> > Well, I had problems with drives refusing to do [u]dma.
> > On my home machine I found out that compiling kernel with support for VIA
> > chipset allowed udma to work ok (hdparm -T -t = ~20mb/s). Without that
> > support, my hd was stuck in pio, ~6mb/s.
>
> That's the thing--it claims to be in UDMA mode, and again I get no
> errors. Even when I do 'hdparm -d1 -X66 /dev/hda", everything works fine,
> without errors, only the speed problems persist. Oh, and I have compiled
> my kernel with VIA IDE support, it makes no difference in the performance.
>
> It's sounding more and more like this isn't a driver/chipset problem, but
> something wrong with the HD itself. Thanks for your insight.

This has been a long-standing problem with my system as well. I
have an MS-5187 VIA MVP4 board and ST320413A UltraATA/100 drive.

Timing buffer-cache reads: 128 MB in 4.40 seconds = 29.09 MB/sec
Timing buffered disk reads: 64 MB in 13.06 seconds = 4.90 MB/sec

Model=ST320413A, FwRev=3.39, SerialNo=7ED05MNS
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=512kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=39102336
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4 udma5
AdvancedPM=no
Drive Supports : Reserved : ATA-1 ATA-2 ATA-3 ATA-4

I remember trying out the drive on a Soltek 75KAV and got better
buffered disk results, ~25.0 MB/sec.

--
.--. Michael J. Maravillo office://+63.2.894.3592/
( () ) Q Linux Solutions, Inc. mobile://+63.917.897.0919/
`--\\ A Philippine Open Source Solutions Co. http://www.q-linux.com/

2001-11-06 05:21:35

by Ryan Hayle

[permalink] [raw]
Subject: Re: Poor IDE performance with VIA MVP3

On Mon, 05 Nov, 2001 at 03:10:01PM -0500, Mark Hahn wrote:
> > I have a VIA MVP3 (VT82C586B) controller on my motherboard, and am
>
> an inherently slow chipset, with at best 150 MB/s dram throughput.
>
> > experiencing extremely poor performance with a Maxtor 20G
> > (52049U4) drive.
>
> 20G, 4 surfaces, 10G/platter generation, from around 2-3 years ago.
> (versus 40G/platter current gen.)
>
> > It is an UDMA66-capable drive, but I'm only attempting
> > to use UDMA33 (with an 80-pin cable, as recommended).
>
> nothing wrong with an 80-conductor cable, but it's not required
> for udma33.
>
> > same behavior. I was originally running with a 40-pin cable, and switched
> > it to the 80 to see if it might help, but it had no effect. As some
>
> is it <18", with both ends plugged in?
>
> > Cable Type: 40w 40w
>
> hmm.

The cable is of standard length, which I believe is 18". It came with the
drive. I only have one drive plugged into it. I thought it was odd tha
/proc/ide/via only showed the cable as 40w also, but I assumed that was
because my chipset doesn't know what 80-pin cables are...am I wrong? In
any case, it's sounding more and more that there's not much I can do to
remedy this problem. :/ Oh well, I'm probably due for a motherboard
upgrade in any case.

Thanks,
Ryan

2001-11-06 09:52:45

by Denis Vlasenko

[permalink] [raw]
Subject: Re: Poor IDE performance with VIA MVP3

On Monday 05 November 2001 19:54, Mike Maravillo wrote:

> > That's the thing--it claims to be in UDMA mode, and again I get no
> > errors. Even when I do 'hdparm -d1 -X66 /dev/hda", everything works
> > fine, without errors, only the speed problems persist. Oh, and I have
> > compiled my kernel with VIA IDE support, it makes no difference in the
> > performance.
> >
> > It's sounding more and more like this isn't a driver/chipset problem, but
> > something wrong with the HD itself. Thanks for your insight.
>
> This has been a long-standing problem with my system as well. I
> have an MS-5187 VIA MVP4 board and ST320413A UltraATA/100 drive.
>
> Timing buffer-cache reads: 128 MB in 4.40 seconds = 29.09 MB/sec
> Timing buffered disk reads: 64 MB in 13.06 seconds = 4.90 MB/sec
>
> Model=ST320413A, FwRev=3.39, SerialNo=7ED05MNS
> Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
> RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
> BuffType=unknown, BuffSize=512kB, MaxMultSect=16, MultSect=off
> CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=39102336
> IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
> PIO modes: pio0 pio1 pio2 pio3 pio4
> DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4 udma5
> AdvancedPM=no
> Drive Supports : Reserved : ATA-1 ATA-2 ATA-3 ATA-4
>
> I remember trying out the drive on a Soltek 75KAV and got better
> buffered disk results, ~25.0 MB/sec.

In my experience, if kernel has no support for your particular IDE
chip compiled in, you will likely be unable to get [u]dma working.

However, I have one hd which refuses to do dma even with proper support
compiled in (I have PIIX IDE). All I can do is
# hdparm -c1 -A1 -W1 /dev/hda
and get 8mb/s in
# hdparm -T -t /dev/hda
--
vda