diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-12-29 11:54:15 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-12-29 11:54:15 -0800 |
commit | 61233580f1f33c50e159c50e24d80ffd2ba2e06b (patch) | |
tree | 5f24b18f2a1178e3c022b59e439bd66680b56717 /kernel/time | |
parent | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (diff) | |
parent | cpufreq: schedutil: Use idle_calls counter of the remote CPU (diff) | |
download | linux-dev-61233580f1f33c50e159c50e24d80ffd2ba2e06b.tar.xz linux-dev-61233580f1f33c50e159c50e24d80ffd2ba2e06b.zip |
Merge tag 'pm-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management fix from Rafael Wysocki:
"This fixes a schedutil cpufreq governor regression from the 4.14 cycle
that may cause a CPU idleness check to return incorrect results in
some cases which leads to suboptimal decisions (Joel Fernandes)"
* tag 'pm-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
cpufreq: schedutil: Use idle_calls counter of the remote CPU
Diffstat (limited to 'kernel/time')
-rw-r--r-- | kernel/time/tick-sched.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 99578f06c8d4..77555faf6fbc 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -986,6 +986,19 @@ ktime_t tick_nohz_get_sleep_length(void) } /** + * tick_nohz_get_idle_calls_cpu - return the current idle calls counter value + * for a particular CPU. + * + * Called from the schedutil frequency scaling governor in scheduler context. + */ +unsigned long tick_nohz_get_idle_calls_cpu(int cpu) +{ + struct tick_sched *ts = tick_get_tick_sched(cpu); + + return ts->idle_calls; +} + +/** * tick_nohz_get_idle_calls - return the current idle calls counter value * * Called from the schedutil frequency scaling governor in scheduler context. |