kern/79783: ata: hw.ata.atapi_dma=1 reduces HDD writing transfer
rate
Simun Mikecin
simun.mikecin at logos.hr
Mon Apr 11 01:50:22 PDT 2005
>Number: 79783
>Category: kern
>Synopsis: ata: hw.ata.atapi_dma=1 reduces HDD writing transfer rate
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Apr 11 08:50:22 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Simun Mikecin
>Release: FreeBSD 5.4-STABLE i386
>Organization:
>Environment:
System: FreeBSD data.home.hr 5.4-STABLE FreeBSD 5.4-STABLE #0: Wed Apr 6 20:26:25 CEST 2005 root at data.home.hr:/var/obj/usr/src/sys/DATA i386
Reproduced on two machines both using 5.4-STABLE. Tried with GENERIC and
custom kernel.
#1) Laptop Toshiba Qosmio F10 (Centrino, Intel 855/ICH4 chipset) with:
atapci0: <Intel ICH4 UDMA100 controller> port 0xbfa0-0xbfaf,0x376,0x170-0x177,0x3f6,0x1f0-0x1f77 irq 11 at device 31.1 on pci0
ad0: 57137MB <TOSHIBA MK6026GAX/PA203H> [116088/16/63] atata0-master UDMA100
acd0: DVDR <MATSHITADVD-RAM UJ-820S/1.00> at ata1-master UDMA33
#2) Pentium 4 desktop PC, Intel 875P/ICH5 chipset with:
atapci0: <Intel ICH5 UDMA100 controller> port 0xf000-0xf00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0
ad0: 176700MB <IC35L180AVV207-1/V26OA63A> [359010/16/63] at ata0-master UDMA100
acd0: DVDROM <Pioneer DVD-ROM ATAPIModel DVD-120S/1.01> at ata0-slave UDMA66
acd1: DVDR <PIONEER DVD-RW DVR-106D/1.07> at ata1-master UDMA33
>Description:
When hw.ata.atapi_dma is set to 1, HDD writing transfer rate reduces to 16MB/s.
Reading is not affected. Optical drives are not being used while testing. Using:
sync && dd if=/dev/zero of=foo bs=1m count=100
results are:
Machine #1) with hw.ata.atapi_dma=1:
104857600 bytes transferred in 6.521342 secs (16079144 bytes/sec)
Machine #1) with hw.ata.atapi_dma=0:
104857600 bytes transferred in 3.586123 secs (29239823 bytes/sec)
Machine #2) with hw.ata.atapi_dma=1:
104857600 bytes transferred in 6.532039 secs (16052813 bytes/sec)
Machine #2) with hw.ata.atapi_dma=0:
104857600 bytes transferred in 2.160149 secs (48541835 bytes/sec)
>How-To-Repeat:
Try:
sync && dd if=/dev/zero of=foo bs=1m count=100
>Fix:
Set hw.ata.atapi_dma to 0. But that could break writing to optical media.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list