scsi: ufs: ufs-qcom: Change UFS devfreq timer to delayed
authorNitin Rawat <quic_nitirawa@quicinc.com>
Thu, 20 Jul 2023 09:34:46 +0000 (15:04 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 23 Jul 2023 20:31:48 +0000 (16:31 -0400)
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.

Co-developed-by: Asutosh Das <quic_asutoshd@quicinc.com>
Signed-off-by: Asutosh Das <quic_asutoshd@quicinc.com>
Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com>
Link: https://lore.kernel.org/r/20230720093446.30697-1-quic_nitirawa@quicinc.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/host/ufs-qcom.c

index d29e63e4a4f8f0ca484971322f6dea3eb5ae0240..3ee5ff905f9a6395e1660467fcd161ed30827b4e 100644 (file)
@@ -1483,6 +1483,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;
 }