On Wed, 12 Oct 2005, Chen, Kenneth W wrote: > Patrick Mansfield wrote on Wednesday, October 12, 2005 1:00 PM > > > > It turns out that qla2x00 driver unnecessarily activated > > > > generic blk tag queue without actually use any of the tag > > > > maintained by the block layer. I suggest we turn that off > > > > until there is a real consumer of the tag queuing in the > > > > qla driver. Please apply. > > > > > > > > Signed-off-by: Ken Chen <kenneth.w.chen@xxxxxxxxx> > > > > > > ACK. > > > > And then also remove scsi_populate_tag_msg() calls also in qla2xxx, > > as that becomes dead code? > > Yeah, that would indeed be a very good thing to do. It reminds me > a while back, I was investigating cache miss profile and we > consistently see cache misses on tag[2] variable defined in > qla2x00_start_scsi (used by scsi_populate_tag_msg). Removing it > would be a very good thing for driver performance. > > Should I generate the patch? Drop scsi_populate_tag_msg() interrogation. Signed-off-by: Andrew Vasquez <andrew.vasquez@xxxxxxxxxx> --- diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c index 37f82e2..f5902ec 100644 --- a/drivers/scsi/qla2xxx/qla_iocb.c +++ b/drivers/scsi/qla2xxx/qla_iocb.c @@ -401,18 +401,6 @@ qla2x00_start_scsi(srb_t *sp) /* Update tagged queuing modifier */ cmd_pkt->control_flags = __constant_cpu_to_le16(CF_SIMPLE_TAG); - if (scsi_populate_tag_msg(cmd, tag)) { - switch (tag[0]) { - case MSG_HEAD_TAG: - cmd_pkt->control_flags = - __constant_cpu_to_le16(CF_HEAD_TAG); - break; - case MSG_ORDERED_TAG: - cmd_pkt->control_flags = - __constant_cpu_to_le16(CF_ORDERED_TAG); - break; - } - } /* Load SCSI command packet. */ memcpy(cmd_pkt->scsi_cdb, cmd->cmnd, cmd->cmd_len); @@ -824,6 +812,7 @@ qla24xx_start_scsi(srb_t *sp) cmd_pkt->handle = handle; /* Zero out remaining portion of packet. */ + /* tagged queuing modifier -- default is TSK_SIMPLE (0). */ clr_ptr = (uint32_t *)cmd_pkt + 2; memset(clr_ptr, 0, REQUEST_ENTRY_SIZE - 8); cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); @@ -837,18 +826,6 @@ qla24xx_start_scsi(srb_t *sp) cmd_pkt->lun[1] = LSB(sp->cmd->device->lun); cmd_pkt->lun[2] = MSB(sp->cmd->device->lun); - /* Update tagged queuing modifier -- default is TSK_SIMPLE (0). */ - if (scsi_populate_tag_msg(cmd, tag)) { - switch (tag[0]) { - case MSG_HEAD_TAG: - cmd_pkt->task = TSK_HEAD_OF_QUEUE; - break; - case MSG_ORDERED_TAG: - cmd_pkt->task = TSK_ORDERED; - break; - } - } - /* Load SCSI command packet. */ memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html