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