Date: Wed, 25 Sep 2002 22:15:48 -0500 (CDT) From: Sean Farley <sean-freebsd@farley.org> To: freebsd-hackers@freebsd.org Subject: Slow I/O responsiveness with UDMA133 Message-ID: <20020925215927.L384-100000@thor.farley.org>
next in thread | raw e-mail | index | archive | help
I have a Soltek 75DRV5 (VIA 8233a) and a Maxtor 6L080L4. The problem I
am having is with poor performance with ATA-133. My ATA-33 system beats
it.
After building a new system, I noticed that it was less responsive when
it came to I/O concerning the hard drive. The standard XFree86 source
extraction would slow down anything else that tried to access something
off of the drive. It could take at least 10-20 seconds for a login
attempt from the console to prompt for the password after I entered the
user ID.
On my old system this was not the case. It would slow down the system,
but it would be much more responsive. In both cases the write cache was
disabled. I have fiddled with the BIOS without success. I even tried
changing the PCI latency on different PCI devices to see if kern/32338
may be effecting me.
To imitate the problem and get some numbers as well, I have been trying
things out using bonnie++. I ran "bonnie++ -s 256 -d /usr/tmp/bonnie"
where /usr/tmp/bonnie was an empty directory.
I did not have trouble with my cable being recognized, but I am
beginning to wonder whether the order is impacting performance as the
hard drive is on the secondary controller. I will be annoyed if that
has been the problem. I still need to dig the box out and try this.
With write cache enabled it does perform better, but I would like the
new computer to at least equal the old system without it enabled.
Here are some benchmarks on my computers. I believe the sequential
output is the killer. atacontrol does show the new system to be using
UDMA133. Both drives are on a controller by themselves.
Before I get to the benchmarks, I have a ktrace of ls -lF of /usr/bin
during bonnie++. It shows some long times during the listing.
...
410 ls 5.497238 CALL readlink(0xbfbfed20,0xbfbfe91c,0x400)
410 ls 0.096740 NAMI "./mailq"
410 ls 12.262074 RET readlink 21/0x15
...
If I run it again, I can get it to wait a long time on a different call
like close().
Are these times normal? For a system giving slower values from bonnie++
than a PIII 450, I would expect even better responsiveness.
----------------------------------------------
New System
----------------------------------------------
Athlon XP 2100
Maxtor (76345MB <MAXTOR 6L080L4> [155114/16/63] at ata1-master UDMA133)
7200 RPM
hw.ata.ata_dma: 1
hw.ata.wc: 0
hw.ata.tags: 0
hw.ata.atapi_dma: 0
Bonnie++ test (w/o write cache)
-------------------------------
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version 1.02c ------Sequential Output------
-Per Chr- --Block-- -Rewrite-
Machine Size K/sec %CP K/sec %CP K/sec %CP
System 1 256M 10757 10 10767 3 11188 4
--Sequential Input- --Random-
-Per Chr- --Block-- --Seeks--
K/sec %CP K/sec %CP /sec %CP
67468 97 468575 99 12770 29
------Sequential Create------
-Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP
16 9880 17 +++++ +++ +++++ +++
--------Random Create--------
-Create-- --Read--- -Delete--
/sec %CP /sec %CP /sec %CP
+++++ +++ +++++ +++ +++++ +++
----------------------------------------------
Old System
----------------------------------------------
PIII 450
Seagate (27199MB <ST328040A> [55262/16/63] at ata0-master UDMA33)
5400RPM
hw.ata.ata_dma: 1
hw.ata.wc: 0
hw.ata.tags: 0
hw.ata.atapi_dma: 0
Bonnie++ test
-------------
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version 1.02c ------Sequential Output------
-Per Chr- --Block-- -Rewrite-
Machine Size K/sec %CP K/sec %CP K/sec %CP
System 2 256M 16246 89 16052 24 7069 14
--Sequential Input- --Random-
-Per Chr- --Block-- --Seeks--
K/sec %CP K/sec %CP /sec %CP
14597 94 17455 14 462.2 3
------Sequential Create------
-Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP
16 5081 46 +++++ +++ 13559 95
--------Random Create--------
-Create-- --Read--- -Delete--
/sec %CP /sec %CP /sec %CP
8218 68 +++++ +++ 13176 94
Sean
-----------------------
sean-freebsd@farley.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020925215927.L384-100000>
