Re: poor ATA disk speed with ICH2

From: Kevin Oberman <oberman_at_es.net>
Date: Thu, 09 Sep 2004 13:28:07 -0700
> 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_at_ 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
Received on Thu Sep 09 2004 - 18:28:08 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:11 UTC