From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932116AbcBERtG (ORCPT ); Fri, 5 Feb 2016 12:49:06 -0500 Received: from foss.arm.com ([217.140.101.70]:49495 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753053AbcBERtD (ORCPT ); Fri, 5 Feb 2016 12:49:03 -0500 Date: Fri, 5 Feb 2016 17:49:44 +0000 From: Juri Lelli To: Dietmar Eggemann Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, peterz@infradead.org, vincent.guittot@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com, linux@arm.linux.org.uk, sudeep.holla@arm.com, lorenzo.pieralisi@arm.com, catalin.marinas@arm.com, will.deacon@arm.com, morten.rasmussen@arm.com, broonie@kernel.org, Mark Brown Subject: Re: [PATCH v3 6/6] arm64: add sysfs cpu_capacity attribute Message-ID: <20160205174944.GG11415@e106622-lin> References: <1454500799-18451-1-git-send-email-juri.lelli@arm.com> <1454500799-18451-7-git-send-email-juri.lelli@arm.com> <56B4D98F.3090103@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <56B4D98F.3090103@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 05/02/16 17:19, Dietmar Eggemann wrote: > Hi Juri, > > On 03/02/16 11:59, Juri Lelli wrote: > > Add a sysfs cpu_capacity attribute with which it is possible to read and > > write (thus over-writing default values) CPUs capacity. This might be > > useful in situation where there is no way to get proper default values > > at boot time. > > > > The new attribute shows up as: > > > > /sys/devices/system/cpu/cpu*/cpu_capacity > > > > Cc: Catalin Marinas > > Cc: Will Deacon > > Cc: Mark Brown > > Cc: Sudeep Holla > > Signed-off-by: Juri Lelli > > --- > > arch/arm64/kernel/topology.c | 68 ++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 68 insertions(+) > > > > diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c > > index f2513a6..f05cc07 100644 > > --- a/arch/arm64/kernel/topology.c > > +++ b/arch/arm64/kernel/topology.c > > @@ -40,6 +40,74 @@ bool arch_wants_init_cpu_capacity(void) > > return true; > > } > > > > +#ifdef CONFIG_PROC_SYSCTL > > +#include > > +#include > > +static ssize_t show_cpu_capacity(struct device *dev, > > + struct device_attribute *attr, > > + char *buf) > > +{ > > + struct cpu *cpu = container_of(dev, struct cpu, dev); > > + ssize_t rc; > > + int cpunum = cpu->dev.id; > > + unsigned long capacity = arch_scale_cpu_capacity(NULL, cpunum); > > Gives me an implicit declaration of function ‘arch_scale_cpu_capacity’ > error [without the commit fbc899610e1a ("arm64: Update > arch_scale_cpu_capacity() to reflect change to define") on your > git://linux-arm.org/linux-jl.git upstream/default_caps_v3 branch]. > > Why don't you just return cpu_scale > > @@ -49,10 +49,8 @@ static ssize_t show_cpu_capacity(struct device *dev, > { > struct cpu *cpu = container_of(dev, struct cpu, dev); > ssize_t rc; > - int cpunum = cpu->dev.id; > - unsigned long capacity = arch_scale_cpu_capacity(NULL, cpunum); > > - rc = sprintf(buf, "%lu\n", capacity); > + rc = sprintf(buf, "%lu\n", per_cpu(cpu_scale, cpu->dev.id)); > > return rc; > } > > to get rid of this dependency? > Right! I'll fix this in the next version. Thanks, - Juri