2023-07-20 09:50:03

by Nitin Rawat

[permalink] [raw]
Subject: [PATCH V3] scsi: ufs: ufs-qcom: Change UFS devfreq timer to delayed

Devfreq uses the default DEVFREQ_TIMER_DEFERRABLE mode which uses
the deferred timer for scheduling the devfreq load monitor function.
This causes the load monitoring to be done only with non-idle CPUs
and not making use of the idle CPUs.

Hence, use the DEVFREQ_TIMER_DELAYED mode which uses the delayed
timer thereby making use of idle CPUs as well for load monitoring.

Signed-off-by: Asutosh Das <[email protected]>
Signed-off-by: Nitin Rawat <[email protected]>
---

changes from v2:
- Modified commit message as per mani's suggestion
- removed threshold change

Changes from v1:
- Realigned the commit text

drivers/ufs/host/ufs-qcom.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index df9161cb9825..07e5050dae77 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -1619,6 +1619,7 @@ static void ufs_qcom_config_scaling_param(struct ufs_hba *hba,
struct devfreq_simple_ondemand_data *d)
{
p->polling_ms = 60;
+ p->timer = DEVFREQ_TIMER_DELAYED;
d->upthreshold = 70;
d->downdifferential = 5;
}
--
2.17.1



2023-07-23 21:06:49

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH V3] scsi: ufs: ufs-qcom: Change UFS devfreq timer to delayed


Nitin,

> Devfreq uses the default DEVFREQ_TIMER_DEFERRABLE mode which uses the
> deferred timer for scheduling the devfreq load monitor function. This
> causes the load monitoring to be done only with non-idle CPUs and not
> making use of the idle CPUs.
>
> Hence, use the DEVFREQ_TIMER_DELAYED mode which uses the delayed timer
> thereby making use of idle CPUs as well for load monitoring.

Applied to 6.6/scsi-staging, thanks!

--
Martin K. Petersen Oracle Linux Engineering