[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen stable-4.19] xen/cpufreq: fix usages of align_timer() in the on-demand governor



commit 84b006870c41f94ee99af202d5f0a7b4dcd3cc94
Author:     Roger Pau Monné <roger.pau@xxxxxxxxxx>
AuthorDate: Wed Mar 4 14:54:55 2026 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Mar 4 14:54:55 2026 +0100

    xen/cpufreq: fix usages of align_timer() in the on-demand governor
    
    The first parameter passed to align_timer() is the timer expiration, not
    the current time.  Adjust the calls to align_timer() in the on-demand
    governor to pass the expected timer expiration as the first parameter.
    
    Fixes: af74e3a15a83 ("cpufreq: align dbs timer for better package C state 
residency")
    Fixes: 382b95f627a9 ("Fix cpufreq HW-ALL coordination handle")
    Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    master commit: a0ed5bcfbeee81c91c574ad484faa057054eaf09
    master date: 2026-03-02 17:16:26 +0100
---
 xen/drivers/cpufreq/cpufreq_ondemand.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/cpufreq/cpufreq_ondemand.c 
b/xen/drivers/cpufreq/cpufreq_ondemand.c
index f62678fa61..9828a40c4b 100644
--- a/xen/drivers/cpufreq/cpufreq_ondemand.c
+++ b/xen/drivers/cpufreq/cpufreq_ondemand.c
@@ -183,7 +183,8 @@ static void cf_check do_dbs_timer(void *dbs)
     dbs_check_cpu(dbs_info);
 
     set_timer(&per_cpu(dbs_timer, dbs_info->cpu),
-            align_timer(NOW() , dbs_tuners_ins.sampling_rate));
+              align_timer(NOW() + dbs_tuners_ins.sampling_rate,
+                          dbs_tuners_ins.sampling_rate));
 }
 
 static void dbs_timer_init(struct cpu_dbs_info_s *dbs_info)
@@ -398,6 +399,6 @@ void cpufreq_dbs_timer_resume(void)
             (void)cmpxchg(stoppable, -1, 1);
         }
         else
-            set_timer(t, align_timer(now, dbs_tuners_ins.sampling_rate));
+            set_timer(t, align_timer(t->expires, 
dbs_tuners_ins.sampling_rate));
     }
 }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.19



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.