[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Solid-State Disk, --no-atime
From: |
Thomas Schwinge |
Subject: |
Solid-State Disk, --no-atime |
Date: |
Sat, 1 Dec 2012 12:53:30 +0100 |
User-agent: |
Notmuch/0.9-101-g81dad07 (http://notmuchmail.org) Emacs/23.3.1 (i486-pc-linux-gnu) |
Hi!
I have put a solid-state disk into my GNU Hurd system. It's a KingSpec
KSD-PA25.6-064MS, <http://www.kingspec.com/en/product_xx56.html>. This
vendor's series seems to be about the only one available that has not
SATA but PATA connectivity, and is reasonably priced (I paid 70 EUR). I
then had some "fun" ;-) with GNU Mach (see my recent email), and had some
more (see below), and here is some real-world benchmarking with a GCC
bootstrap build:
Old 30 GB HDD: »make«: 14.5 h, »make install«: 45 min.
SSD for root and data filesystems: »make«: 14 h, »make install«: 35 min.
SSD with --no-atime for root and data filesystems: »make«: 13.25 h, »make
install«: 35 min.
(Unfortunately I don't have data with --no-atime using the old HDD, and
don't feel like again changing the hardware setup to get these numbers.)
So, switching to a SSD does give a small performance boost, but not the
big one we had hoped for. Using --no-atime improves this further.
Perhaps we should follow suit with the Linux kernel, and implement and
make default a »relatime« mount option.
Here is the additional Linux kernel patch that I intend to apply (in a
suitable form) to GNU Mach, which I guess doesn't need further
discussion:
commit 602da297e293eb2cbd28dcdbbe247593a46a853a
Author: David S. Miller <davem@davemloft.net>
Date: Wed Dec 2 21:58:33 2009 -0800
ide: Increase WAIT_DRQ to accomodate some CF cards and SSD drives.
Based upon a patch by Philippe De Muyter, and feedback from Mark
Lord and Robert Hancock.
As noted by Mark Lord, the outdated ATA1 spec specifies a 20msec
timeout for setting DRQ but lots of common devices overshoot this.
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git include/linux/ide.h include/linux/ide.h
index e4135d6..0ec6129 100644
--- include/linux/ide.h
+++ include/linux/ide.h
@@ -125,8 +125,8 @@ struct ide_io_ports {
* Timeouts for various operations:
*/
enum {
- /* spec allows up to 20ms */
- WAIT_DRQ = HZ / 10, /* 100ms */
+ /* spec allows up to 20ms, but CF cards and SSD drives need more */
+ WAIT_DRQ = 1 * HZ, /* 1s */
/* some laptops are very slow */
WAIT_READY = 5 * HZ, /* 5s */
/* should be less than 3ms (?), if all ATAPI CD is closed at boot */
Without the patch I would eventually hit some timeout, followed by a few
retries (that apparently don't get handled/completed properly), followed
by a literally endless loop of »marginal timeout«s
(linux/src/drivers/block/ide.c), and system lock-up. Which may of course
be a bug in its own right, but I have no longer seen that once I
increased WAIT_DRQ.
Grüße,
Thomas
pgp1nyDYnYCZM.pgp
Description: PGP signature
- Solid-State Disk, --no-atime,
Thomas Schwinge <=