diff options
author | Tejun Heo <tj@kernel.org> | 2008-10-25 14:26:54 +0900 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-10-27 23:55:27 -0400 |
commit | e8b3b5e9f54512bfdb7c154da07ec0408cbd6c56 (patch) | |
tree | f2782dbae6b0b7c184ba37f6323f4092af5e8224 | |
parent | 3cd8ddbd86e4ea6f2f6582da217651f048d76130 (diff) | |
download | linux-3.10-e8b3b5e9f54512bfdb7c154da07ec0408cbd6c56.tar.gz linux-3.10-e8b3b5e9f54512bfdb7c154da07ec0408cbd6c56.tar.bz2 linux-3.10-e8b3b5e9f54512bfdb7c154da07ec0408cbd6c56.zip |
sata_sil24: configure max read request size to 4k
Due to request posting limitations, bandwidth of sil3132 is limited to
around 120MB/s with the minimum pci-e payload size (128bytes) which is
used by most consumer systems. However, write throughput can be
slightly (~3%) increased by increasing the max read requeset size.
Configure it to 4k which is the maximum supported. This optimization
is also done by SIMG's windows driver.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r-- | drivers/ata/sata_sil24.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index 4621807a1a6..ccee930f1e1 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c @@ -1329,6 +1329,11 @@ static int sil24_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) } } + /* Set max read request size to 4096. This slightly increases + * write throughput for pci-e variants. + */ + pcie_set_readrq(pdev, 4096); + sil24_init_controller(host); pci_set_master(pdev); |