RE: [PATCH v6 1/3] scsi: ufs: Allow RTT negotiation

From: Avri Altman
Date: Wed May 29 2024 - 17:15:56 EST


> On 5/26/24 01:16, Avri Altman wrote:
> > The rtt-upiu packets precede any data-out upiu packets, thus
> > synchronizing the data input to the device: this mostly applies to
> > write operations, but there are other operations that requires rtt as well.
> >
> > There are several rules binding this rtt - data-out dialog,
> > specifically There can be at most outstanding bMaxNumOfRTT such
> > packets. This might have an effect on write performance (sequential
> > write in particular), as each data-out upiu must wait for its rtt sibling.
> >
> > UFSHCI expects bMaxNumOfRTT to be min(bDeviceRTTCap, NORTT).
> However,
> > as of today, there does not appears to be no-one who sets it: not the
> > host controller nor the driver. It wasn't an issue up to now:
> > bMaxNumOfRTT is set to 2 after manufacturing, and wasn't limiting the
> > write performance.
> >
> > UFS4.0, and specifically gear 5 changes this, and requires the device
> > to be more attentive. This doesn't come free - the device has to
> > allocate more resources to that end, but the sequential write
> > performance improvement is significant. Early measurements shows 25%
> > gain when moving from rtt 2 to 9. Therefore, set bMaxNumOfRTT to be
> > min(bDeviceRTTCap, NORTT) as UFSHCI expects.
>
> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx>

Martin,
As the other 2 patches in this series require some more work, and our clients do wait for this change,
Would you consider picking this one first, whilst I'm finalizing the other two?

Thanks,
Avri