2001-04-24 14:01:50

by Thomas Ford

[permalink] [raw]
Subject: PIO disk writes using 100% system time and performing poorly with VIA vt82c686b on kernels 2.2 & 2.4

Heavy disc writes (eg. unzipping linux kernel source) cause the system
processor usage (as reported by top/xosview) to jump to 100%, making
the X mouse/audio freeze etc.

Such problems occur with the drives connected to VIA vt82c686b south
bridge: the same drives on a mvp3 show no such problems.

The behaviour is the same on kernels 2.2.17 & 2.4.3 (both hand
compiled & RedHat's 2.4.2-2 & 2.2.17-14 in case I was doing something
wrong).

The problem is easily demonstrated by hdparm -t. The CPU use jumps to
system 100% as above and all my drives report ~1.9 MB/sec in PIO mode
which is far lower than PIO on the mvp3 (~10MB/s).

DMA mode appears to work fine but I am not using it due to publicised
potential problems.

Regards,

Tom Ford


2001-04-24 15:38:45

by John Weber

[permalink] [raw]
Subject: Re: PIO disk writes using 100% system time and performing poorly with VIA vt82c686b on kernels 2.2 & 2.4

Thomas Ford wrote:

> Heavy disc writes (eg. unzipping linux kernel source) cause the system
> processor usage (as reported by top/xosview) to jump to 100%, making
> the X mouse/audio freeze etc.
>
> Such problems occur with the drives connected to VIA vt82c686b south
> bridge: the same drives on a mvp3 show no such problems.
>
> The behaviour is the same on kernels 2.2.17 & 2.4.3 (both hand
> compiled & RedHat's 2.4.2-2 & 2.2.17-14 in case I was doing something
> wrong).
>
> The problem is easily demonstrated by hdparm -t. The CPU use jumps to
> system 100% as above and all my drives report ~1.9 MB/sec in PIO mode
> which is far lower than PIO on the mvp3 (~10MB/s).
>
> DMA mode appears to work fine but I am not using it due to publicised
> potential problems.
>
> Regards,
>
> Tom Ford
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

Can you share a link to the "publicised potential problems" for DMA mode?

I'm running VIA686A using DMA mode and haven't had any problems.
However, the disk isn't operating as efficiently as I thought it would
(hdparm -t reports 16.3 MB/sec even though I'm using an 80w cable
with an ATA100 drive). I believe that this is due in part to
corrective measures taken by RedHat to fix potential problems with
the VIA chipset; I saw it reported somewhere that the same configuration
will work 20+ MB/sec on distros like Debian).

--
-o) j o h n e w e b e r
/ \ aspiring computer scientist & lover of pengiuns
_\_v

2001-04-24 21:46:27

by Francois Cami

[permalink] [raw]
Subject: Re: PIO disk writes using 100% system time and performing poorly with VIA vt82c686b on kernels 2.2 & 2.4

Ignacio Monge wrote:
>
> Hi.
> I have VIA686a too and a UDMA100 hard disk.

So do I.

> This is my cat /proc/ide/via:
>
> ----------VIA BusMastering IDE Configuration----------------
> Driver Version: 3.23
> South Bridge: VIA vt82c686a
> Revision: ISA 0x22 IDE 0x10
> Highest DMA rate: UDMA66

> -------------------drive0----drive1----drive2----drive3-----
> Transfer Mode: DMA UDMA PIO PIO
> Address Setup: 30ns 30ns 120ns 120ns
> Cmd Active: 90ns 90ns 480ns 480ns
> Cmd Recovery: 30ns 30ns 480ns 480ns
> Data Active: 90ns 90ns 330ns 330ns
> Data Recovery: 30ns 30ns 270ns 270ns
> Cycle Time: 120ns 60ns 600ns 600ns
> Transfer Rate: 16.5MB/s 33.0MB/s 3.3MB/s 3.3MB/s

What is odd here is the 33MB/s on drive 1. If it was operating
at UDMA66, that would be more like 66MB/s (see my own /proc/ide/via).
I guess you should try putting a drive on IDEO as master and the
second on IDE1 (which seems empty) as master too.

> As you can see, l use UDMA66 instead UDMA100. I don't know why. Maybe VIA
> vt82c686a doesn't support it? I have answering in this list a days ago about this
> problem. but none seems to have a question.

686a maxes out at UDMA66. 686b does UDMA100.

> Like you, my system goes down when I try to compile so
> mething (I have a 394 Mb of RAM and a 1 Ghz processor).

I'm clueless, my 686a with IBM DTLA works fine (board is
ASUS A7V, kernel 2.4.3, Duron700, 256MB PC133). The new VIA
IDE fixes in the kernel _might_ be the cause, but I'm not sure.

> Although, my hdparm output is this:
> /dev/hde2:
> Timing buffer-cache reads: 128 MB in 0.79 seconds =162.03 MB/sec
> Timing buffered disk reads: 64 MB in 2.44 seconds = 26.23 MB/sec
> and sometime looks better.
>
> I don't know is this is a problem with the VIA kernel driver or not. But the
> system doesn't seem to work fine since 2.4.2 or 2.4.1 kernel. I hope (plz!) this
> problem will be fixed in future.
> Luck.
>
> PS: in cat /proc/ide/via I see "Cable Type: 40w > 40w"... Is it right? I have a 80w cable, not 40.
>
>

I see 80w in mine, maybe your cable is broken... Did you put the blue
end
of the cable on the motherboard ? Also detecting a 40w cable disables
UDMA66 I guess.


Here's my /proc/ide/via :

----------VIA BusMastering IDE Configuration----------------
Driver Version: 3.20
South Bridge: VIA vt82c686a
Revision: ISA 0x22 IDE 0x10
BM-DMA base: 0xd800
PCI clock: 33MHz
Master Read Cycle IRDY: 0ws
Master Write Cycle IRDY: 0ws
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: yes no
Post Write Buffer: yes no
Enabled: yes yes
Simplex only: no no
Cable Type: 80w 40w
-------------------drive0----drive1----drive2----drive3-----
Transfer Mode: UDMA PIO DMA PIO
Address Setup: 30ns 120ns 60ns 120ns
Cmd Active: 90ns 90ns 90ns 90ns
Cmd Recovery: 30ns 30ns 90ns 90ns
Data Active: 90ns 330ns 90ns 330ns
Data Recovery: 30ns 270ns 90ns 270ns
Cycle Time: 30ns 600ns 180ns 600ns
Transfer Rate: 66.0MB/s 3.3MB/s 11.0MB/s 3.3MB/s


Fran?ois Cami

--

All that is gold does not glitter,
Not all those who wander are lost,
The old that is strong does not wither,
Deep roots are not touched by the frost.
>From the ashes a fire shall be woken,
A light from the shadows shall spring,
Renewed shall the blade that was broken,
The crownless again shall be king.

The Riddle of Strider
JRR Tolkien

2001-04-25 06:01:05

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: PIO disk writes using 100% system time and performing poorly with VIA vt82c686b on kernels 2.2 & 2.4

On Tue, Apr 24, 2001 at 07:19:41PM -0400, Ignacio Monge wrote:

> I have VIA686a too and a UDMA100 hard disk.
> This is my cat /proc/ide/via:
>
> ----------VIA BusMastering IDE Configuration----------------
> Driver Version: 3.23
> South Bridge: VIA vt82c686a
> Revision: ISA 0x22 IDE 0x10
> Highest DMA rate: UDMA66
> BM-DMA base: 0xb800
> PCI clock: 33MHz
> -----------------------Primary IDE-------Secondary IDE------
> Enabled: yes yes
> Cable Type: 40w 40w
> -------------------drive0----drive1----drive2----drive3-----
> Transfer Mode: DMA UDMA PIO PIO
> Address Setup: 30ns 30ns 120ns 120ns
> Cmd Active: 90ns 90ns 480ns 480ns
> Cmd Recovery: 30ns 30ns 480ns 480ns
> Data Active: 90ns 90ns 330ns 330ns
> Data Recovery: 30ns 30ns 270ns 270ns
> Cycle Time: 120ns 60ns 600ns 600ns
> Transfer Rate: 16.5MB/s 33.0MB/s 3.3MB/s 3.3MB/s
>
> As you can see, l use UDMA66 instead UDMA100.

You use UDMA33 dor your second drive and MWDMA16 for your first.
Check your BIOS UDMA enable settings.

> I don't know why. Maybe VIA vt82c686a doesn't support it?

Yes, it supports modes only up to 66 MB/sec.

> I have answering in this list a days ago about this problem. but none seems to have a question. Like you, my system goes down when I try to compile something (I have a 394 Mb of RAM and a 1 Ghz processor).
> Although, my hdparm output is this:
> /dev/hde2:
> Timing buffer-cache reads: 128 MB in 0.79 seconds =162.03 MB/sec
> Timing buffered disk reads: 64 MB in 2.44 seconds = 26.23 MB/sec
> and sometime looks better.

26 megabytes per second is quite surprising in your setup

> I don't know is this is a problem with the VIA kernel driver or not. But the system doesn't seem to work fine since 2.4.2 or 2.4.1 kernel. I hope (plz!) this problem will be fixed in future.

You can disable the VIA driver.

> PS: in cat /proc/ide/via I see "Cable Type: 40w 40w"... Is it right? I have a 80w cable, not 40.

Check your BIOS settings, if you have disabled UDMA in the BIOS, the
driver can't detect the cable. If that doesn't work, use "ide0=ata66"
on the kernel command line.

--
Vojtech Pavlik
SuSE Labs

2001-04-24 17:34:18

by Ignacio Monge

[permalink] [raw]
Subject: Re: PIO disk writes using 100% system time and performing poorly with VIA vt82c686b on kernels 2.2 & 2.4


Hi.
I have VIA686a too and a UDMA100 hard disk.
This is my cat /proc/ide/via:

----------VIA BusMastering IDE Configuration----------------
Driver Version: 3.23
South Bridge: VIA vt82c686a
Revision: ISA 0x22 IDE 0x10
Highest DMA rate: UDMA66
BM-DMA base: 0xb800
PCI clock: 33MHz
Master Read Cycle IRDY: 0ws
Master Write Cycle IRDY: 0ws
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: DMA UDMA PIO PIO
Address Setup: 30ns 30ns 120ns 120ns
Cmd Active: 90ns 90ns 480ns 480ns
Cmd Recovery: 30ns 30ns 480ns 480ns
Data Active: 90ns 90ns 330ns 330ns
Data Recovery: 30ns 30ns 270ns 270ns
Cycle Time: 120ns 60ns 600ns 600ns
Transfer Rate: 16.5MB/s 33.0MB/s 3.3MB/s 3.3MB/s


As you can see, l use UDMA66 instead UDMA100. I don't know why. Maybe VIA vt82c686a doesn't support it? I have answering in this list a days ago about this problem. but none seems to have a question. Like you, my system goes down when I try to compile something (I have a 394 Mb of RAM and a 1 Ghz processor).
Although, my hdparm output is this:
/dev/hde2:
Timing buffer-cache reads: 128 MB in 0.79 seconds =162.03 MB/sec
Timing buffered disk reads: 64 MB in 2.44 seconds = 26.23 MB/sec
and sometime looks better.

I don't know is this is a problem with the VIA kernel driver or not. But the system doesn't seem to work fine since 2.4.2 or 2.4.1 kernel. I hope (plz!) this problem will be fixed in future.
Luck.

PS: in cat /proc/ide/via I see "Cable Type: 40w 40w"... Is it right? I have a 80w cable, not 40.