From 876c6e4d129021d2dacd08ae8e104c15c677969b Mon Sep 17 00:00:00 2001 From: Johann Lombardi Date: Wed, 19 May 2010 14:07:49 +0200 Subject: [PATCH] b=22850 bump max number of phys/hw segment in RHEL5 kernel This grants us that we can always send 1MB i/o to the disk, regardless of contiguous memory or not. We already have the same tuning for SLES10. --- .../patches/blkdev_tunables-2.6-rhel5.patch | 43 +++++++++++++++++++--- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/lustre/kernel_patches/patches/blkdev_tunables-2.6-rhel5.patch b/lustre/kernel_patches/patches/blkdev_tunables-2.6-rhel5.patch index 84a0ecb..fdea32b6 100644 --- a/lustre/kernel_patches/patches/blkdev_tunables-2.6-rhel5.patch +++ b/lustre/kernel_patches/patches/blkdev_tunables-2.6-rhel5.patch @@ -1,11 +1,44 @@ ---- linux-2.6.18-128.1.14.orig/include/linux/blkdev.h 2009-06-19 04:03:20.000000000 -0400 -+++ linux-2.6.18-128.1.14/include/linux/blkdev.h 2009-09-04 16:31:30.000000000 -0400 -@@ -778,7 +778,7 @@ extern int blkdev_issue_flush(struct blo - #define MAX_PHYS_SEGMENTS 128 - #define MAX_HW_SEGMENTS 128 +Index: linux-2.6.18-164.11.1/include/linux/blkdev.h +=================================================================== +--- linux-2.6.18-164.11.1.orig/include/linux/blkdev.h ++++ linux-2.6.18-164.11.1/include/linux/blkdev.h +@@ -788,10 +788,10 @@ extern void blk_free_tags(struct blk_que + extern void blk_rq_bio_prep(request_queue_t *, struct request *, struct bio *); + extern int blkdev_issue_flush(struct block_device *, sector_t *); + +-#define MAX_PHYS_SEGMENTS 128 +-#define MAX_HW_SEGMENTS 128 ++#define MAX_PHYS_SEGMENTS 256 ++#define MAX_HW_SEGMENTS 256 #define SAFE_MAX_SECTORS 255 -#define BLK_DEF_MAX_SECTORS 1024 +#define BLK_DEF_MAX_SECTORS 2048 #define MAX_SEGMENT_SIZE 65536 +Index: linux-2.6.18-164.11.1/include/scsi/scsi_host.h +=================================================================== +--- linux-2.6.18-164.11.1.orig/include/scsi/scsi_host.h ++++ linux-2.6.18-164.11.1/include/scsi/scsi_host.h +@@ -30,7 +30,7 @@ struct blk_queue_tags; + * used in one scatter-gather request. + */ + #define SG_NONE 0 +-#define SG_ALL 0xff ++#define SG_ALL 256 + + + #define DISABLE_CLUSTERING 0 +Index: linux-2.6.18-164.11.1/drivers/scsi/lpfc/lpfc.h +=================================================================== +--- linux-2.6.18-164.11.1.orig/drivers/scsi/lpfc/lpfc.h ++++ linux-2.6.18-164.11.1/drivers/scsi/lpfc/lpfc.h +@@ -38,7 +38,7 @@ struct lpfc_sli2_slim; + #define LPFC_MAX_NS_RETRY 3 /* Number of retry attempts to contact + the NameServer before giving up. */ + #define LPFC_CMD_PER_LUN 3 /* max outstanding cmds per lun */ +-#define LPFC_DEFAULT_SG_SEG_CNT 64 /* sg element count per scsi cmnd */ ++#define LPFC_DEFAULT_SG_SEG_CNT 256 /* sg element count per scsi cmnd */ + #define LPFC_MAX_SG_SEG_CNT 256 /* sg element count per scsi cmnd */ + #define LPFC_IOCB_LIST_CNT 2250 /* list of IOCBs for fast-path usage. */ + #define LPFC_Q_RAMP_UP_INTERVAL 120 /* lun q_depth ramp up interval */ -- 1.8.3.1