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

Reply via email to