Bug 56100

Summary: RedHat 7.2 fails to enable UDMA100 for IDE.
Product: [Retired] Red Hat Linux Reporter: Aaron Freed <vmorgo>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED WORKSFORME QA Contact: Brock Organ <borgan>
Severity: medium Docs Contact:
Priority: high    
Version: 7.2CC: vmorgo
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-11-12 20:44:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
dmessg output detailing problem and showing sample from another machine that UDMA66/UDMA 100 *SHOULD* work.... none

Description Aaron Freed 2001-11-12 20:34:10 UTC
Description of Problem:


Version-Release number of selected component (if applicable):
2.4.7-10

How Reproducible:
ALWAYS

Steps to Reproduce:
1. Install RedHat 7.2
2. Boot (Ensure MPS Spec 1.1 in Bios.  MPS 1.4 causes this Asus CUV-4X 
dual PIII 933 to hang on ISAPNP scanning for devices on boot up.)
3. Be disappointed with poor (udma-33 equivalent drive I/O performance.)

Actual Results:
Going to INIT 1 and then running hdparm -t /dev/hda or hdparm -t /dev/hdb 
produces results of 20.08 for HDA and 24.37 for HDB, which are an IBM 40 
GB ATA 100 drive and a Maxtor 100 GB ATA 100 drive respectively.

Expected Results
Disk I/O data transfer rates were expected to be in the 30 MB/sec to 60 
MB/sec range.  A number of Dell Optiplex machines at this site have UDMA 
33 controllers and manage more than 30 MB/sec.

Additional Information:

cat /proc/ide/via
----------VIA BusMastering IDE Configuration----------------
Driver Version:                     3.23
South Bridge:                       VIA vt82c686b
Revision:                           ISA 0x40 IDE 0x6
Highest DMA rate:                   UDMA100
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:                   40w                 40w
-------------------drive0----drive1----drive2----drive3-----
Transfer Mode:       UDMA      UDMA       DMA      UDMA
Address Setup:       30ns      30ns      30ns      30ns
Cmd Active:          90ns      90ns      90ns      90ns
Cmd Recovery:        30ns      30ns      30ns      30ns
Data Active:         90ns      90ns      90ns      90ns
Data Recovery:       30ns      30ns      30ns      30ns
Cycle Time:          60ns      60ns     120ns      60ns
Transfer Rate:   33.3MB/s  33.3MB/s  16.5MB/s  33.3MB/s
[root@liberty1 ide]# pwd
/proc/ide
[root@liberty1 ide]#

It seems clear from the above (as well as the attached dmesg output) that 
the maximum transfer rate is 100 MB/s, and that all I am getting is 
33.3MB/s for all drives (except the CD Burner at HDC.)

Comment 1 Arjan van de Ven 2001-11-12 20:36:54 UTC
VIA controllers sometimes misdetect a udma33 cable as a udma66 cable, and as a
result we have to not trust the chipset.
You can tell the kernel you have safe cables by passing "ide0=ata66" on the
kernel commandline (edit grub.conf for that and add it to the end of the line
with vmlinuz in it)

Comment 2 Aaron Freed 2001-11-12 20:44:15 UTC
Created attachment 37282 [details]
dmessg output detailing problem and showing sample from another machine that UDMA66/UDMA 100 *SHOULD* work....