> 
> > > @@ -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.

Reply via email to