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

From: Daejun Park
Date: Wed Feb 24 2021 - 21:44:04 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.

Thanks,
Daejun