Re: (2) [PATCH] scsi: ufs: core: fix devfreq deadlocks

From: Asutosh Das
Date: Fri Jan 06 2023 - 09:52:20 EST


On Fri, Jan 06 2023 at 18:25 -0800, Jinyoung CHOI wrote:
On 1/4/23 06:10, Asutosh Das wrote:
> Load based toggling of WB seemed fine to me then.
> I haven't thought about another method to toggle WriteBooster yet.
> Let me see if I can come up with something.
> IMT if you have a mechanism in mind, please let me know.

Hi Asutosh,

Which UFS devices need this mechanism? All UFS devices I'm familiar with can
achieve wire speed for large write requests without enabling the WriteBooster.
This feature assures SLC-performance for writes to the WriteBooster buffer.
So enabling it is advantageous as far as write performance.

I agree with you. Also, it can be used in various ways.

As for the toggling functionality, compared to e.g. enabling it on init and leave it on,
some flash vendors require it because of device health considerations.
This is not the case for us, so let others to comment.

In our case, it does not matter whether to toggle or not.
To make the code simple, it seems to be a good way to enable it on init and leave it on.
Considering device health, WB can be disabled through lifetime check.

Thanks,
Jinyoung.

Hi Jinyoung / Avri / Bart

My understanding during the WriteBooster development was that the endurance of
the SLC buffer is considerably less and hence it's *not* a good idea to always
keep it ON. From the spec,
"
7279 Whenever the endurance of the WriteBooster Buffer is consumed completely, a write command is
7280 processed as if WriteBooster feature was disabled. Therefore, it is recommended to set fWriteBoosterEn to
7281 one, only when WriteBooster performance is needed, so that WriteBooster feature can be used for a longer
7282 time.
"
Going by this toggling it to ON when the load is high and performance is needed seemed reasonable.

Now then, if you confirm that there's no considerable difference in the WB buffer lifetime by
either always keeping it on at init OR on-demand, then this toggle code should be removed.
I will talk to other UFS device vendors who may not be active in this list and get back.

-asd


Thanks,
Avri

Thanks,

Bart.