Skip to content

Commit

Permalink
[SCSI] fcoe, libfc: fix an libfc issue with queue ramp down in libfc
Browse files Browse the repository at this point in the history
The cmd_per_lun value is used by scsi-ml as fall back lowest
queue_depth value but in case of libfc cmd_per_lun is set to
same value as max queue_depth = 32.

So this patch reduces cmd_per_lun value to 3 and configures
each lun with default max queue_depth 32 in fc_slave_alloc.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Acked-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  • Loading branch information
Vasu Dev authored and James Bottomley committed Dec 4, 2009
1 parent 5c20848 commit 14caf44
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 9 deletions.
2 changes: 1 addition & 1 deletion drivers/scsi/fcoe/fcoe.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ static struct scsi_host_template fcoe_shost_template = {
.change_queue_depth = fc_change_queue_depth,
.change_queue_type = fc_change_queue_type,
.this_id = -1,
.cmd_per_lun = 32,
.cmd_per_lun = 3,
.can_queue = FCOE_MAX_OUTSTANDING_COMMANDS,
.use_clustering = ENABLE_CLUSTERING,
.sg_tablesize = SG_ALL,
Expand Down
14 changes: 6 additions & 8 deletions drivers/scsi/libfc/fc_fcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2033,18 +2033,16 @@ EXPORT_SYMBOL(fc_eh_host_reset);
int fc_slave_alloc(struct scsi_device *sdev)
{
struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
int queue_depth;

if (!rport || fc_remote_port_chkready(rport))
return -ENXIO;

if (sdev->tagged_supported) {
if (sdev->host->hostt->cmd_per_lun)
queue_depth = sdev->host->hostt->cmd_per_lun;
else
queue_depth = FC_FCP_DFLT_QUEUE_DEPTH;
scsi_activate_tcq(sdev, queue_depth);
}
if (sdev->tagged_supported)
scsi_activate_tcq(sdev, FC_FCP_DFLT_QUEUE_DEPTH);
else
scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev),
FC_FCP_DFLT_QUEUE_DEPTH);

return 0;
}
EXPORT_SYMBOL(fc_slave_alloc);
Expand Down

0 comments on commit 14caf44

Please sign in to comment.