From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933021AbdC2WVS (ORCPT ); Wed, 29 Mar 2017 18:21:18 -0400 Received: from cloudserver094114.home.net.pl ([79.96.170.134]:41130 "EHLO cloudserver094114.home.net.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932400AbdC2WVR (ORCPT ); Wed, 29 Mar 2017 18:21:17 -0400 From: "Rafael J. Wysocki" To: Viresh Kumar Cc: Ingo Molnar , Peter Zijlstra , Srinivas Pandruvada , Len Brown , linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Vincent Guittot , smuckle.linux@gmail.com, juri.lelli@arm.com, Morten.Rasmussen@arm.com, patrick.bellasi@arm.com, eas-dev@lists.linaro.org Subject: Re: [RFC 8/9] intel_pstate: ignore scheduler cpufreq callbacks on remote CPUs Date: Thu, 30 Mar 2017 00:15:33 +0200 Message-ID: <11658751.uecjsoxtRb@aspire.rjw.lan> User-Agent: KMail/4.14.10 (Linux/4.10.0+; KDE/4.14.9; x86_64; ; ) In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thursday, March 09, 2017 05:15:18 PM Viresh Kumar wrote: > From: Steve Muckle > > In preparation for the scheduler cpufreq callback happening on remote > CPUs, check for this case in intel_pstate which currently requires the > callback run on the local CPU. Such callbacks are ignored for now. > > Signed-off-by: Steve Muckle > Signed-off-by: Viresh Kumar > --- > drivers/cpufreq/intel_pstate.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c > index 3d37219a0dd7..bd60f1cd7ea6 100644 > --- a/drivers/cpufreq/intel_pstate.c > +++ b/drivers/cpufreq/intel_pstate.c > @@ -1930,6 +1930,9 @@ static void intel_pstate_update_util(struct update_util_data *data, u64 time, > struct cpudata *cpu = container_of(data, struct cpudata, update_util); > u64 delta_ns; > > + if (smp_processor_id() != data->cpu) > + return; > + > if (pstate_funcs.get_target_pstate == get_target_pstate_use_cpu_load) { > if (flags & SCHED_CPUFREQ_IOWAIT) { > cpu->iowait_boost = int_tofp(1); > This would need to be updated on top of some intel_pstate changes in the queue. Thanks, Rafael