Skip to contentSkip to conversation

lpfc: in sli3 use configured sg_seg_cnt for sg_tablesize

PATCH In review [email protected] 2 participants 2 messages May 29, 2015 – Jun 2, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 lpfc: in sli3 use configured sg_seg_cnt for sg_tablesize

Hi James,

We had some performance problems with RAID systems connected to LPe12k. AFAICS, the reason is a small bug in lpfc.ko, causing the IO-size to be smaller than expected.

The patch below fixes it for us.

Please CC me, I'm not on the list.

Best regards
Bodo

------------------------------------------------------

From: Bodo Stroesser <[email protected]>
Date: Fri, 29 May 2015 13:34:19 +0200
Subject: [PATCH] lpfc: in sli3 use configured sg_seg_cnt for sg_tablesize

Currently the module parameter lpfc_sg_seg_count does not have effect for sli3 devices.

In lpfc_sli_driver_resource_setup(), which is used for sli3, the code writes the configured sg_seg_cnt into lpfc_template.sg_tablesize. But lpfc_template is the template used for sli4 only. Thus the value should correctly be written to lpfc_template_s3->sg_tablesize.

This patch is for kernel 4.1-rc5, but is tested with lpfc 10.2.405.26 only.

---

drivers/scsi/lpfc/lpfc_init.c +1 -1
@@ -4988,7 +4988,7 @@ lpfc_sli_driver_resource_setup(struct lp
 
 	/* Initialize the host templates the configured values. */
 	lpfc_vport_template.sg_tablesize = phba->cfg_sg_seg_cnt;
-	lpfc_template.sg_tablesize = phba->cfg_sg_seg_cnt;
+	lpfc_template_s3.sg_tablesize = phba->cfg_sg_seg_cnt;
 
 	/* There are going to be 2 reserved BDEs: 1 FCP cmnd + 1 FCP rsp */
 	if (phba->cfg_enable_bg) {
Reviewed-by on v1 1/1
#1 lore raw
Quoted 36 lines · [email protected] wrote:

Hi James,

We had some performance problems with RAID systems connected to LPe12k. AFAICS, the reason is a small bug in lpfc.ko, causing the IO-size to be smaller than expected.

The patch below fixes it for us.

Please CC me, I'm not on the list.

Best regards
Bodo

------------------------------------------------------

From: Bodo Stroesser <[email protected]>
Date: Fri, 29 May 2015 13:34:19 +0200
Subject: [PATCH] lpfc: in sli3 use configured sg_seg_cnt for sg_tablesize

Currently the module parameter lpfc_sg_seg_count does not have effect for sli3 devices.

In lpfc_sli_driver_resource_setup(), which is used for sli3, the code writes the configured sg_seg_cnt into lpfc_template.sg_tablesize. But lpfc_template is the template used for sli4 only. Thus the value should correctly be written to lpfc_template_s3->sg_tablesize.

This patch is for kernel 4.1-rc5, but is tested with lpfc 10.2.405.26 only.

---

drivers/scsi/lpfc/lpfc_init.c lpfc_sli_driver_resource_setup(struct lp · line 4994

Quoted 8 lines
drivers/scsi/lpfc/lpfc_init.c +1 -1
@@ -4988,7 +4988,7 @@ lpfc_sli_driver_resource_setup(struct lp
 
 	/* Initialize the host templates the configured values. */
 	lpfc_vport_template.sg_tablesize = phba->cfg_sg_seg_cnt;
-	lpfc_template.sg_tablesize = phba->cfg_sg_seg_cnt;
+	lpfc_template_s3.sg_tablesize = phba->cfg_sg_seg_cnt;
 
 	/* There are going to be 2 reserved BDEs: 1 FCP cmnd + 1 FCP rsp */
 	if (phba->cfg_enable_bg) {

Sebastian