poor ATA disk speed with ICH2
Kevin Oberman
oberman at es.net
Thu Sep 9 13:28:08 PDT 2004
> Date: Thu, 09 Sep 2004 19:48:20 +0200
> From: =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos at DeepCore.dk>
>
> Kevin Oberman wrote:
> >>From: "Bjoern Koenig" <bkoenig at cs.tu-berlin.de>
> >>Date: Wed, 8 Sep 2004 12:29:03 +0200
> >>Sender: owner-freebsd-current at freebsd.org
> >>
> >>Hello,
> >>
> >>first time I installed a beta of FreeBSD 5.3 I noticed very poor disk
> >>speed.
> >>I built a kernel without this whole debugging stuff; but it remains bad I
> >>supposed that this issue depends on further debugging features which I
> >>didn't know. So I waited until UPDATING told that debugging options are
> >>removed from kernel and userland. Now I built a new kernel again and the
> >>disk speed is still unacceptable. Is there any further debugging option?
> >>
> >>Some facts:
> >>
> >>FreeBSD 5.3-BETA3 without any debugging:
> >> per char write: 13.78 MB/s (32.7% CPU usage)
> >> block write: 13.97 MB/s (12.8%)
> >> per char read: 22.31 MB/s (45.2%)
> >> block read: 37.44 MB/s (14.8%)
> >>
> >>FreeBSD 4.10-STABLE:
> >> per char write: 37.29 MB/s (75.7%)
> >> block write: 36.91 MB/s (28.7%)
> >> per char read: 38.53 MB/s (80.4%)
> >> block read: 37.45 MB/s (10.9%)
> >>
> >>(tested with bonnie, atacontrol shows UDMA100 both)
> >>
> >>Controller: Intel 82801BA (ICH2)
> >>Hard disk: Seagate ST380021A
> >
> >
> > I had previously reported this. I did some testing with the assistance
> > of Robert Watson and it appears that the issue is ATA. The thread had a
> > subject of "Disk performance under CURRENT" and was back in May.
> >
> > I plotted out the times for various sizes of I/O and
> > the only real issue was with write. The per character speed should
> > increase fairly quickly with increased I/O size and did for V4 and for
> > reads. For writes, it started the same for short writes as these tend to
> > be CPU bound. But, for longer writes, the increase in speed is MUCH less
> > than it was with V4 write or for reads and throughput tops out at
> > between 16 and 32KB transfers at something far below what I saw in V4.
> >
> > I was also hearing a LOT of disk seek operations that did not seem
> > appropriate to me. (I did the testing with dd(1) in single-user mode.)
> >
> > FWIW, I did my tests on an IBM T30 which is a P4 at 1.8 GHz with ICH3
> > support chips.
> >
> > Looking back at the history in my e-mail archive, I'm not certain that
> > sos@ was copied. Ouch! Mea culpa!
>
> I fixed a chip setup problem on the ICH* chips some days ago, its has
> been committed to RELENG_5 as well. However it would normally b0
> harmless if the BIOS has set the mode (which it normally does).
>
> Besides that, I know of no problems performance wise. Disk seek
> operations during sequential access suggests that there is something
> else going on simultanious to the test as the driver doesn't issue seeks
> without being asked to from the system.
Søren,
Here are the results of my last test back in May plus tests done on a
kernel built from sources downloaded on Sep. 6. Is that going to catch
your fix? I don't see much difference. Do you have version number I can
check?
Buffer V4 Read V4 Write V5 Read V5 Write
512 8385790 8111781 6921714 5115853 7130873 5261294
1k 15457027 14865113 12330562 7811422 12494677 7952281
2k 25677856 25273251 19939822 10572186 20137339 10708676
4k 27083255 25897711 27096896 12860586 27064850 12982472
8k 27079563 26033768 27097726 14416520 27017494 14497783
16k 27082575 Oops! 27082273 15316924 26936316 15374888
32k 27080720 25908336 27100118 15816203 26977041 15853140
64k 27079904 26008387 27096093 16073422 26939153 15938326
128k 27055901 25928520 27095673 16073422
256k 27076467 25918950 27090967 16118789
512k 27045087 25987266 27077925 16006708
1m 27026694 25738575 27060626 15879266
Read: dd if=/dev/ad2 of=/dev/null bs=nnn
Write:dd if=/dev/zero of=/dev/ad2 bs=nnn
All tests run for about 30 seconds.
All tests in single-user mode. Nothing on ad2 is mounted.
Debug (WITNESS, INVARIANTS, malloc checking) disabled.
While the test is running, the disk being written to "sings" with the
frequency somewhat dependent on the size of the write. On read, I get
silence. When I copy my full disk (if=ad0 of=ad2), I can clearly hear
the sound of the actuator moving the heads constantly toward the end of
the backup. I assume that they are being returned to track 0 on a
repeated basis.
--
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net Phone: +1 510 486-8634
More information about the freebsd-current
mailing list