Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1395513

Re: cpufreq governors broken with !CONFIG_SMP?

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From "Rafael J. Wysocki" <rjw@rjwysocki.net>
Newsgroups linux.kernel
Subject Re: cpufreq governors broken with !CONFIG_SMP?
Date Fri, 06 May 2016 02:30:02 +0200
Message-ID <rvBOy-2eS-7@gated-at.bofh.it> (permalink)
References <rvBbQ-1tA-15@gated-at.bofh.it> <rvBvb-20s-7@gated-at.bofh.it>
User-Agent KMail/4.11.5 (Linux/4.5.0-rc1+; KDE/4.11.5; x86_64; ; )
MIME-Version 1.0
Content-Transfer-Encoding 7Bit
Content-Type text/plain; charset="utf-8"
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 45
Organization linux.* mail to news gateway
X-Original-Cc Peter Zijlstra <peterz@infradead.org>, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org
X-Original-Date Fri, 06 May 2016 02:25:16 +0200
X-Original-Message-ID <1953902.drhraqW2It@vostro.rjw.lan>
X-Original-References <20160505234922.GA14673@sky.smuckle.net> <1961527.dEtpL4HAvs@vostro.rjw.lan>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1395513

Show key headers only | View raw


On Friday, May 06, 2016 02:09:07 AM Rafael J. Wysocki wrote:
> On Thursday, May 05, 2016 04:49:22 PM Steve Muckle wrote:
> > While working on a few patches for schedutil I noticed that the CFS
> > cpufreq hooks depend on PELT, which depends on CONFIG_SMP.
> > 
> > I compiled and ran a UP kernel with intel_pstate. Running a cpu-bound
> > task did not result in the frequency increasing beyond fmin. For some reason
> > ondemand is working for me with the same test, not sure why yet.
> > 
> > It appears dbs/intel-pstate/schedutil have a dependency on CONFIG_SMP
> > now. Or am I missing something?
> 
> You're right AFAICS.
> 
> For governors other than schedutil fixing that would be a matter of
> adding a !CONFIG_SMP variant of update_load_avg() that will call
> cpufreq_update_util() and do nothing else.  It doesn't matter what
> is passed via util and max then.

Maybe something like the below, FWIW, as a quick fix for 4.6?

---
 kernel/sched/fair.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Index: linux-pm/kernel/sched/fair.c
===================================================================
--- linux-pm.orig/kernel/sched/fair.c
+++ linux-pm/kernel/sched/fair.c
@@ -3030,7 +3030,14 @@ static int idle_balance(struct rq *this_
 
 #else /* CONFIG_SMP */
 
-static inline void update_load_avg(struct sched_entity *se, int update_tg) {}
+static inline void update_load_avg(struct sched_entity *se, int not_used)
+{
+	struct cfs_rq *cfs_rq = cfs_rq_of(se);
+	struct rq *rq = rq_of(cfs_rq);
+
+	cpufreq_trigger_update(rq_clock(rq));
+}
+
 static inline void
 enqueue_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) {}
 static inline void

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

cpufreq governors broken with !CONFIG_SMP? Steve Muckle <steve.muckle@linaro.org> - 2016-05-06 01:50 +0200
  Re: cpufreq governors broken with !CONFIG_SMP? "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-05-06 02:10 +0200
    Re: cpufreq governors broken with !CONFIG_SMP? Steve Muckle <steve.muckle@linaro.org> - 2016-05-06 02:30 +0200
      Re: cpufreq governors broken with !CONFIG_SMP? "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-05-06 02:40 +0200
      Re: cpufreq governors broken with !CONFIG_SMP? Peter Zijlstra <peterz@infradead.org> - 2016-05-06 13:50 +0200
    Re: cpufreq governors broken with !CONFIG_SMP? "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-05-06 02:30 +0200
      Re: cpufreq governors broken with !CONFIG_SMP? "Rafael J. Wysocki" <rafael@kernel.org> - 2016-05-06 13:50 +0200
      Re: cpufreq governors broken with !CONFIG_SMP? Peter Zijlstra <peterz@infradead.org> - 2016-05-06 13:50 +0200

csiph-web