Re: [RFC PATCH 06/14] SCSI: pass scsi_device to scsi_mq_prep_fn

Bart Van Assche
2018-08-07T23:24:06Z

On Wed, 2018-08-08 at 01:44 +0800, Ming Lei wrote:
> diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.=
c
> index 435347f58328..52e498fb6280 100644
> --- a/drivers/scsi/scsi_lib.c
> +++ b/drivers/scsi/scsi_lib.c
> @@ -1971,10 +1971,9 @@ static unsigned int scsi_mq=
F8-sgl_size(struct Scsi_Host *shost)
> sizeof(struct scatterlist);
> }
> =20
> -static int scsi_mq_prep_fn(struct request *req)
> +static int scsi_mq_prep_fn(struct scsi_device *=
sdev, struct request *req)
> {
> struct scsi_cmnd *cmd = blk_mq_rq_to_pd=
u(req);
> - struct scsi_device *sdev = req->q->queuedata=
s-
> struct Scsi_Host *shost = sdev->host;
> struct scatterlist *sg;
> =20
> @@ -2070,7 +2069,7 @@ static blk_status_t scsi=
F8-queue_rq(struct blk_mq_hw_ctx *hctx,
> goto out_dec_target_busy;
> =20
> if (!(req->rq_flags & RQF_DONTPREP)) {
> - ret = prep_to_mq(scsi_mq_prep_fn(req));=
-
> + ret = prep_to_mq(scsi_mq_prep_fn(sdev, re=
q));
> if (ret != BLK_STS_OK)
> goto out_dec_host_busy;
> req->rq_flags |= RQF_DONTPREP;

This patch looks useful to me since it probably realizes a (small) performa=
nce
improvement. I think this patch does not depend on any of the previous patc=
hes
in this series. Is that correct?

Bart.