On 08/05/2009 08:14 PM, Vasu Dev wrote:
> Bumps up queue_depth on fc_change_queue_depth call back with
> reason SCSI_QDEPTH_RAMP_UP.
>
> Sets up ramp up period in case current queue_depth is lower
> than max queue_depth in libfc.
>
> Signed-off-by: Vasu Dev<[email protected]>
> ---
>
>   drivers/scsi/libfc/fc_fcp.c |   12 ++++++++++++
>   1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c
> index 316767e..3502f80 100644
> --- a/drivers/scsi/libfc/fc_fcp.c
> +++ b/drivers/scsi/libfc/fc_fcp.c
> @@ -129,6 +129,7 @@ static void fc_fcp_srr_error(struct fc_fcp_pkt *, struct 
> fc_frame *);
>   #define FC_MAX_RECOV_RETRY  3
>
>   #define FC_FCP_DFLT_QUEUE_DEPTH 32
> +#define FC_FCP_RAMP_UP_PERIOD        (120 * HZ)
>

I think we want to make this common and setable. If we put a 
ramp_up_period file in /sys/block/sda/device/

then we can set this for all scsi devices that support the feature. 
Check out scsi_sysfs.c:scsi_sysfs_add_sdev for how to add sysfs files.


>   /**
>    * fc_fcp_pkt_alloc - allocation routine for scsi_pkt packet
> @@ -2054,9 +2055,20 @@ int fc_change_queue_depth(struct scsi_device *sdev, 
> int qdepth, int reason)
>       case SCSI_QDEPTH_QFULL:
>               scsi_track_queue_full(sdev, qdepth);
>               break;
> +     case SCSI_QDEPTH_RAMP_UP:
> +             if (qdepth + 1<= FC_FCP_DFLT_QUEUE_DEPTH)
> +                     scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev),
> +                                             qdepth + 1);
> +             break;
>       default:
>               return -EOPNOTSUPP;
>       }
> +
> +     if (sdev->queue_depth<  FC_FCP_DFLT_QUEUE_DEPTH)
> +             sdev_set_rampup_period(sdev, FC_FCP_RAMP_UP_PERIOD);
> +     else
> +             sdev_set_rampup_period(sdev, 0);
> +
>       return sdev->queue_depth;
>   }
>   EXPORT_SYMBOL(fc_change_queue_depth);
>
> _______________________________________________
> devel mailing list
> [email protected]
> http://www.open-fcoe.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to