From: William King <quentusrex@gmail.com>
To: jgarzik@pobox.com, linux-ide@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Seagate harddrives problems with SB7x0 AHCI
Date: Wed, 27 Jul 2011 18:22:22 -0700 [thread overview]
Message-ID: <4E30B9CE.4010800@gmail.com> (raw)
Problem:
I have run into what appears to be a driver problem with the Seagate
Barracuda 7200.12 drives. The symptom is io load of 10-15 times the load
for other drives. To the point the box becomes fully io-bound and
unresponsive when even installing apt packages or rsync of a 100MB file.
Background:
I have two servers with nearly identical hardware: Alpha has Seagate
Barracuda 7200.12 1TB drives model: ST31000528AS and Bravo that has
Western Digital Cavaliar Black 1TB model: 'WDC WD1001FALS-0'. Both
servers have Ubuntu 11.04 64bit server installed, and have fully updated
to the 2.3.38-10 kernel. More hardware info and logs can be located
here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/815540
The server hardware manufacturer page is:
http://www.supermicro.com/Aplus/system/1U/1042/AS-1042G-TF.cfm
Command outputs:
# lspci |grep SATA
00:11.0 SATA controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 SATA
Controller [AHCI mode]
# uname -a
Linux alpha-mule 2.6.38-10-server #46-Ubuntu SMP Tue Jun 28 16:31:00 UTC
2011 x86_64 x86_64 x86_64 GNU/Linux
Steps to confirm/reproduce and narrow scope:
I have taken the hard drives from Bravo, put them into Alpha reinstalled
and there is no problem. Also I have placed some older Seagate Barracuda
7200.9 80GB drives in Alpha and the problem does not exist then either.
I used iotop and iostats to watch the reported io load as well as the
read/write speeds to the disk. I then used rsync with a bandwidth
limitation to measure the performance difference between the two servers
in terms of server load and iotop reported IO%.
A cat of /proc/interrupts show an order of magnitude more interrupts for
ahci on Alpha than Bravo for the same amount of traffic during an rsync.
I have hdparm -t /dev/sda test and have seen a performance of ~50MB/s on
the Seagate 7200.12 drive while the specs and other benchmarks claim
speeds of up to 140MB/s. The Western Digital in the same hardware are
able to reach speeds of ~105MB/s and the Seagate 7200.9 gets ~65MB/s.
The hard drive was not in use at the time of the hdparm test.
I took a perf capture of a fio random read test on each machines. The
test completes in 4 seconds on Alpha and 2 minutes 45 seconds on Bravo
and the perf stats show all the extra time being spent in the kernel
scheduler section.
I initially had the Seagate hard drives on firmware CC46 then updated
them to the latest firmware of CC49. No change detected between firmwares.
I have setup alpha to be able to rebuild the Ubuntu Kernel with patches
so I can easily test new changes. Also I have the linux kernel git tree
cloned so while it would be possible, I would be more comfortable
testing on the Ubuntu version of the 2.6.38-10 kernel.
-William King
next reply other threads:[~2011-07-28 1:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-28 1:22 William King [this message]
2011-07-28 1:42 ` Seagate harddrives problems with SB7x0 AHCI William King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E30B9CE.4010800@gmail.com \
--to=quentusrex@gmail.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.