瀏覽代碼

scsi: qla2xxx: Remove datasegs_per_cmd and datasegs_per_cont field

These fields only hold one set of value. Replace it with macros to
reduce cache thrash.

Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Quinn Tran 8 年之前
父節點
當前提交
b5399f7d80
共有 2 個文件被更改,包括 6 次插入8 次删除
  1. 5 7
      drivers/scsi/qla2xxx/qla_target.c
  2. 1 1
      drivers/scsi/qla2xxx/qla_target.h

+ 5 - 7
drivers/scsi/qla2xxx/qla_target.c

@@ -2228,10 +2228,10 @@ static int qlt_pci_map_calc_cnt(struct qla_tgt_prm *prm)
 		 * If greater than four sg entries then we need to allocate
 		 * If greater than four sg entries then we need to allocate
 		 * the continuation entries
 		 * the continuation entries
 		 */
 		 */
-		if (prm->seg_cnt > prm->tgt->datasegs_per_cmd)
+		if (prm->seg_cnt > QLA_TGT_DATASEGS_PER_CMD_24XX)
 			prm->req_cnt += DIV_ROUND_UP(prm->seg_cnt -
 			prm->req_cnt += DIV_ROUND_UP(prm->seg_cnt -
-			prm->tgt->datasegs_per_cmd,
-			prm->tgt->datasegs_per_cont);
+			QLA_TGT_DATASEGS_PER_CMD_24XX,
+			QLA_TGT_DATASEGS_PER_CONT_24XX);
 	} else {
 	} else {
 		/* DIF */
 		/* DIF */
 		if ((cmd->se_cmd.prot_op == TARGET_PROT_DIN_INSERT) ||
 		if ((cmd->se_cmd.prot_op == TARGET_PROT_DIN_INSERT) ||
@@ -2448,7 +2448,7 @@ static void qlt_load_cont_data_segments(struct qla_tgt_prm *prm)
 
 
 		/* Load continuation entry data segments */
 		/* Load continuation entry data segments */
 		for (cnt = 0;
 		for (cnt = 0;
-		    cnt < prm->tgt->datasegs_per_cont && prm->seg_cnt;
+		    cnt < QLA_TGT_DATASEGS_PER_CONT_24XX && prm->seg_cnt;
 		    cnt++, prm->seg_cnt--) {
 		    cnt++, prm->seg_cnt--) {
 			*dword_ptr++ =
 			*dword_ptr++ =
 			    cpu_to_le32(pci_dma_lo32
 			    cpu_to_le32(pci_dma_lo32
@@ -2492,7 +2492,7 @@ static void qlt_load_data_segments(struct qla_tgt_prm *prm)
 
 
 	/* Load command entry data segments */
 	/* Load command entry data segments */
 	for (cnt = 0;
 	for (cnt = 0;
-	    (cnt < prm->tgt->datasegs_per_cmd) && prm->seg_cnt;
+	    (cnt < QLA_TGT_DATASEGS_PER_CMD_24XX) && prm->seg_cnt;
 	    cnt++, prm->seg_cnt--) {
 	    cnt++, prm->seg_cnt--) {
 		*dword_ptr++ =
 		*dword_ptr++ =
 		    cpu_to_le32(pci_dma_lo32(sg_dma_address(prm->sg)));
 		    cpu_to_le32(pci_dma_lo32(sg_dma_address(prm->sg)));
@@ -6164,8 +6164,6 @@ int qlt_add_target(struct qla_hw_data *ha, struct scsi_qla_host *base_vha)
 		base_vha->vp_idx);
 		base_vha->vp_idx);
 	/* 3 is reserved */
 	/* 3 is reserved */
 	tgt->sg_tablesize = QLA_TGT_MAX_SG_24XX(base_vha->req->length - 3);
 	tgt->sg_tablesize = QLA_TGT_MAX_SG_24XX(base_vha->req->length - 3);
-	tgt->datasegs_per_cmd = QLA_TGT_DATASEGS_PER_CMD_24XX;
-	tgt->datasegs_per_cont = QLA_TGT_DATASEGS_PER_CONT_24XX;
 
 
 	mutex_lock(&qla_tgt_mutex);
 	mutex_lock(&qla_tgt_mutex);
 	list_add_tail(&tgt->tgt_list_entry, &qla_tgt_glist);
 	list_add_tail(&tgt->tgt_list_entry, &qla_tgt_glist);

+ 1 - 1
drivers/scsi/qla2xxx/qla_target.h

@@ -806,7 +806,7 @@ struct qla_tgt {
 	 */
 	 */
 	int atio_irq_cmd_count;
 	int atio_irq_cmd_count;
 
 
-	int datasegs_per_cmd, datasegs_per_cont, sg_tablesize;
+	int sg_tablesize;
 
 
 	/* Target's flags, serialized by pha->hardware_lock */
 	/* Target's flags, serialized by pha->hardware_lock */
 	unsigned int link_reinit_iocb_pending:1;
 	unsigned int link_reinit_iocb_pending:1;