summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYadan Fan <ydfan@suse.com>2017-06-23 17:40:06 +0800
committerMartin K. Petersen <martin.petersen@oracle.com>2017-07-17 22:56:33 -0400
commiteeee4107546ef24c739d72645899e50fa693e9ff (patch)
treea5ed33d7342b28b68f01867eba91c98cd0e5f149
parente2c7b433f729cedb32514480af8cbdf2fe5cf264 (diff)
downloadlinux-stable-eeee4107546ef24c739d72645899e50fa693e9ff.tar.gz
linux-stable-eeee4107546ef24c739d72645899e50fa693e9ff.tar.bz2
linux-stable-eeee4107546ef24c739d72645899e50fa693e9ff.zip
scsi: smartpqi: limit transfer length to 1MB
The smartpqi firmware will bypass the cache for any request larger than 1MB, so we should cap the request size to avoid any performance degradation in kernels later than v4.3 This degradation is caused from d2be537c3ba3568acd79cd178327b842e60d035e, which changed max_sectors_kb to 1280k, but the hardware is able to work fine with it, so the true fix should be from smartpqi driver. Signed-off-by: Yadan Fan <ydfan@suse.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Acked-by: Don Brace <don.brace@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/smartpqi/smartpqi.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/smartpqi/smartpqi.h b/drivers/scsi/smartpqi/smartpqi.h
index 07ec8a8877de..e164ffade38a 100644
--- a/drivers/scsi/smartpqi/smartpqi.h
+++ b/drivers/scsi/smartpqi/smartpqi.h
@@ -690,7 +690,7 @@ struct pqi_config_table_heartbeat {
#define PQI_MAX_OUTSTANDING_REQUESTS ((u32)~0)
#define PQI_MAX_OUTSTANDING_REQUESTS_KDUMP 32
-#define PQI_MAX_TRANSFER_SIZE (4 * 1024U * 1024U)
+#define PQI_MAX_TRANSFER_SIZE (1024U * 1024U)
#define PQI_MAX_TRANSFER_SIZE_KDUMP (512 * 1024U)
#define RAID_MAP_MAX_ENTRIES 1024