lpfc: in sli3 use configured sg_seg_cnt for sg_tablesize
Subsystems (2)
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) {
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 configuredsg_seg_cntforsg_tablesizeCurrently the module parameter
lpfc_sg_seg_countdoes not have effect for sli3 devices.In
lpfc_sli_driver_resource_setup(), which is used for sli3, the code writes the configuredsg_seg_cntinto lpfc_template.sg_tablesize. Butlpfc_templateis the template used for sli4 only. Thus the value should correctly be written tolpfc_template_s3->sg_tablesize.This patch is for kernel 4.1-rc5, but is tested with lpfc 10.2.405.26 only.
Signed-off-by Bodo Stroesser <[email protected]>---
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