lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E30B9CE.4010800@gmail.com>
Date:	Wed, 27 Jul 2011 18:22:22 -0700
From:	William King <quentusrex@...il.com>
To:	jgarzik@...ox.com, linux-ide@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Seagate harddrives problems with SB7x0 AHCI

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ