Whamcloud - gitweb
LU-9956 kernel: kernel upgrade [SLES12 SP3 4.4.82-6.3]
[fs/lustre-release.git] / lustre / kernel_patches / patches / blkdev_tunables-3.9-sles12sp3.patch
diff --git a/lustre/kernel_patches/patches/blkdev_tunables-3.9-sles12sp3.patch b/lustre/kernel_patches/patches/blkdev_tunables-3.9-sles12sp3.patch
new file mode 100644 (file)
index 0000000..98422ba
--- /dev/null
@@ -0,0 +1,99 @@
+Index: linux-4.4.59-1/block/blk-settings.c
+===================================================================
+--- linux-4.4.59-1.orig/block/blk-settings.c
++++ linux-4.4.59-1/block/blk-settings.c
+@@ -20,6 +20,12 @@ EXPORT_SYMBOL(blk_max_low_pfn);
+ unsigned long blk_max_pfn;
++int default_max_sectors = BLK_DEF_MAX_SECTORS;
++module_param(default_max_sectors, int, 0);
++
++int default_max_segments = BLK_MAX_SEGMENTS;
++module_param(default_max_segments, int, 0);
++
+ /**
+  * blk_queue_prep_rq - set a prepare_request function for queue
+  * @q:                queue
+@@ -87,7 +93,7 @@ EXPORT_SYMBOL_GPL(blk_queue_lld_busy);
+  */
+ void blk_set_default_limits(struct queue_limits *lim)
+ {
+-      lim->max_segments = BLK_MAX_SEGMENTS;
++      lim->max_segments = default_max_segments;
+       lim->max_integrity_segments = 0;
+       lim->seg_boundary_mask = BLK_SEG_BOUNDARY_MASK;
+       lim->virt_boundary_mask = 0;
+@@ -251,7 +257,7 @@ void blk_queue_max_hw_sectors(struct req
+       limits->max_hw_sectors = max_hw_sectors;
+       max_sectors = min_not_zero(max_hw_sectors, limits->max_dev_sectors);
+-      max_sectors = min_t(unsigned int, max_sectors, BLK_DEF_MAX_SECTORS);
++      max_sectors = min_t(unsigned int, max_sectors, default_max_sectors);
+       limits->max_sectors = max_sectors;
+       q->backing_dev_info->io_pages = max_sectors >> (PAGE_SHIFT - 9);
+ }
+Index: linux-4.4.59-1/drivers/scsi/Kconfig
+===================================================================
+--- linux-4.4.59-1.orig/drivers/scsi/Kconfig
++++ linux-4.4.59-1/drivers/scsi/Kconfig
+@@ -236,6 +236,24 @@ config SCSI_LOGGING
+         there should be no noticeable performance impact as long as you have
+         logging turned off.
++config SCSI_MAX_SG_SEGMENTS
++      int "Maximum SCSI scatter gather segment size"
++      range 32 256 
++      default "128"
++      depends on SCSI
++      help
++        Control the maximum limit for scatter gather buffers for the
++        SCSI device.
++
++config SCSI_MAX_SG_SEGMENTS
++      int "Maximum SCSI scatter gather segment size"
++      range 32 256 
++      default "128"
++      depends on SCSI
++      help
++        Control the maximum limit for scatter gather buffers for the
++        SCSI device.
++
+ config SCSI_SCAN_ASYNC
+       bool "Asynchronous SCSI scanning"
+       depends on SCSI
+Index: linux-4.4.59-1/drivers/message/fusion/Kconfig
+===================================================================
+--- linux-4.4.59-1.orig/drivers/message/fusion/Kconfig
++++ linux-4.4.59-1/drivers/message/fusion/Kconfig
+@@ -61,9 +61,9 @@ config FUSION_SAS
+         LSISAS1078
+ config FUSION_MAX_SGE
+-      int "Maximum number of scatter gather entries (16 - 128)"
+-      default "128"
+-      range 16 128
++      int "Maximum number of scatter gather entries (16 - 256)"
++      default "256"
++      range 16 256
+       help
+         This option allows you to specify the maximum number of scatter-
+         gather entries per I/O. The driver default is 128, which matches
+Index: linux-4.4.59-1/drivers/message/fusion/mptbase.h
+===================================================================
+--- linux-4.4.59-1.orig/drivers/message/fusion/mptbase.h
++++ linux-4.4.59-1/drivers/message/fusion/mptbase.h
+@@ -166,10 +166,10 @@
+  * Set the MAX_SGE value based on user input.
+  */
+ #ifdef CONFIG_FUSION_MAX_SGE
+-#if CONFIG_FUSION_MAX_SGE  < 16
++#if CONFIG_FUSION_MAX_SGE < 16
+ #define MPT_SCSI_SG_DEPTH     16
+-#elif CONFIG_FUSION_MAX_SGE  > 128
+-#define MPT_SCSI_SG_DEPTH     128
++#elif CONFIG_FUSION_MAX_SGE > 256
++#define MPT_SCSI_SG_DEPTH     256
+ #else
+ #define MPT_SCSI_SG_DEPTH     CONFIG_FUSION_MAX_SGE
+ #endif