diff options
Diffstat (limited to 'drivers/cpufreq/intel_pstate.c')
-rw-r--r-- | drivers/cpufreq/intel_pstate.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index 04dd5f46803d..0c50637e6bda 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c | |||
@@ -1746,6 +1746,10 @@ static void intel_pstate_update_util_pid(struct update_util_data *data, | |||
1746 | struct cpudata *cpu = container_of(data, struct cpudata, update_util); | 1746 | struct cpudata *cpu = container_of(data, struct cpudata, update_util); |
1747 | u64 delta_ns = time - cpu->sample.time; | 1747 | u64 delta_ns = time - cpu->sample.time; |
1748 | 1748 | ||
1749 | /* Don't allow remote callbacks */ | ||
1750 | if (smp_processor_id() != cpu->cpu) | ||
1751 | return; | ||
1752 | |||
1749 | if ((s64)delta_ns < pid_params.sample_rate_ns) | 1753 | if ((s64)delta_ns < pid_params.sample_rate_ns) |
1750 | return; | 1754 | return; |
1751 | 1755 | ||
@@ -1763,6 +1767,10 @@ static void intel_pstate_update_util(struct update_util_data *data, u64 time, | |||
1763 | struct cpudata *cpu = container_of(data, struct cpudata, update_util); | 1767 | struct cpudata *cpu = container_of(data, struct cpudata, update_util); |
1764 | u64 delta_ns; | 1768 | u64 delta_ns; |
1765 | 1769 | ||
1770 | /* Don't allow remote callbacks */ | ||
1771 | if (smp_processor_id() != cpu->cpu) | ||
1772 | return; | ||
1773 | |||
1766 | if (flags & SCHED_CPUFREQ_IOWAIT) { | 1774 | if (flags & SCHED_CPUFREQ_IOWAIT) { |
1767 | cpu->iowait_boost = int_tofp(1); | 1775 | cpu->iowait_boost = int_tofp(1); |
1768 | } else if (cpu->iowait_boost) { | 1776 | } else if (cpu->iowait_boost) { |