[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1303202689.3981.217.camel@sli10-conroe>
Date: Tue, 19 Apr 2011 16:44:49 +0800
From: Shaohua Li <shaohua.li@...el.com>
To: lkml <linux-kernel@...r.kernel.org>,
linux-ide <linux-ide@...r.kernel.org>
Cc: Jens Axboe <jaxboe@...ionio.com>, Jeff Garzik <jgarzik@...ox.com>,
Christoph Hellwig <hch@...radead.org>,
Tejun Heo <tj@...nel.org>
Subject: [PATCH 2/2]SATA: enable flush non-queueable
Set SATA queue flush non-queueable. Running below test with a AHCI controller and
ext4 filesystem, below patch gives around ~5% speedup.
sysbench --test fileio --file-test-mode rndrw --num-threads 16 \
--file-total-size 2500MB --max-requests 150000 --max-time 3000
Signed-off-by: Shaohua Li <shaohua.li@...el.com>
---
drivers/ata/libata-scsi.c | 2 ++
1 file changed, 2 insertions(+)
Index: linux/drivers/ata/libata-scsi.c
===================================================================
--- linux.orig/drivers/ata/libata-scsi.c 2011-04-19 14:54:37.000000000 +0800
+++ linux/drivers/ata/libata-scsi.c 2011-04-19 14:58:54.000000000 +0800
@@ -3424,7 +3424,9 @@ void ata_scsi_scan_host(struct ata_port
sdev = __scsi_add_device(ap->scsi_host, channel, id, 0,
NULL);
if (!IS_ERR(sdev)) {
+ struct request_queue *q = sdev->request_queue;
dev->sdev = sdev;
+ blk_set_queue_flush_queueable(q, false);
scsi_device_put(sdev);
} else {
dev->sdev = NULL;
--
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