RE: RE: RE: [PATCH v22 4/4] scsi: ufs: Add HPB 2.0 support

From: Avri Altman
Date: Thu Feb 25 2021 - 02:53:33 EST


>
> > > > > @@ -2656,7 +2656,12 @@ static int ufshcd_queuecommand(struct
> > > > Scsi_Host
> > > > > > *host, struct scsi_cmnd *cmd)
> > > > > >
> > > > > > lrbp->req_abort_skip = false;
> > > > > >
> > > > > > - ufshpb_prep(hba, lrbp);
> > > > > > + err = ufshpb_prep(hba, lrbp);
> > > > > > + if (err == -EAGAIN) {
> > > > > > + lrbp->cmd = NULL;
> > > > > > + ufshcd_release(hba);
> > > > > > + goto out;
> > > > > > + }
> > > > > Did I miss-read it, or are you bailing out of wb failed e.g. because no tag
> is
> > > > available?
> > > > > Why not continue with read10?
> > > >
> > > > We try to sending HPB read several times within the
> requeue_timeout_ms.
> > > > Because it strategy has more benefit for overall performance in this
> > > > situation that many requests are queueing.
> > > This extra logic, IMO, should be optional. Default none.
> > > And yes, in this case requeue_timeout should be a parameter for each OEM
> to
> > > scale.
> > And either way, hpb internal flows should not cause dumping the command.
> > Worse case - continue as READ10
>
> However, this can improve the overall performance and should be used
> carefully. The problem can be solved by setting the default timeout
> ms to 0. And OEM can change it.
Yes. I was thinking that too.

Thanks,
Avri

>
> Thanks,
> Daejun