Bug 126781

Summary: ServerWorks CNB20HE/OSB4 IDE Controller - poor performance
Product: [Fedora] Fedora Reporter: Antimon <antimon+bgz>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: alan
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: 2004-06-26 16:01:28 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
dmesg from 2.6.6-1.422custom none

Description Antimon 2004-06-26 15:56:52 UTC
The problem is very poor IDE performance of a Seagate (hda: ST360021A,
ATA DISK drive) which is attached to an onboard ServerWorks CNB20HE
chipset to primary 'OSB4' IDE controller. 

`hdparm -Tt /dev/hda' returns 286.90 MB/s and _only_ 10.25 MB/sec,
which is about 4 times slower than what this hdd could perform.

DMA is enabled in the BIOS and it works (as hdparm and dmesg say).



Version-Release number of selected component (if applicable):
kernel-2.6.6-1.422.src.rpm

How reproducible:
Always

Steps to Reproduce:
1.attach IDE drive to any SW OSB4 IDE controller
2.format hdd as ext2
3.hdparm -t /dev/hda returns only ~10MB/s
    

Expected Results:  hdparm -t should return ~40MB/s, not ~10MB/s


Additional info:

DMA is enabled, filesystem is ext2, CPU is 1000MHz PIII.

###  hdparm /dev/hda   

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 65535/16/63, sectors = 117231408, start = 0


I tried changing controllers, cables and all BIOS settings. 

Kernel is recompiled from kernel-2.6.6-1.422.src.rpm, the same thing
was happening on whole range of 2.4.x kernels, 2.6 kernel fixed the
problem of CRC errors on that controller, but poor performance stayed.


dmesg attached

Comment 1 Alan Cox 2004-06-26 16:01:28 UTC
Ultra-DMA is not supported on the OSB4 controller because of problems
with the chip occasionally corrupting transfers in UDMA modes with
certain disks.

Later CSB5/CSB6 devices are supported with full UDMA.

If you have two controllers it is best to have CD/DVD devices on the
OSB4 (which will do UDMA with these devices) and the disk on the
secondary controller.


Comment 2 Antimon 2004-06-26 16:05:15 UTC
Created attachment 101438 [details]
dmesg from 2.6.6-1.422custom

stripped .config;

#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDESCSI=m
CONFIG_IDE_TASKFILE_IO=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_ADMA=y
CONFIG_BLK_DEV_SVWKS=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y