lkml.org 
[lkml]   [2016]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 6/6] arm64: add sysfs cpu_capacity attribute
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 <catalin.marinas@arm.com>
> > Cc: Will Deacon <will.deacon@arm.com>
> > Cc: Mark Brown <broonie@linaro.org>
> > Cc: Sudeep Holla <sudeep.holla@arm.com>
> > Signed-off-by: Juri Lelli <juri.lelli@arm.com>
> > ---
> > 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 <asm/cpu.h>
> > +#include <linux/string.h>
> > +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

\
 
 \ /
  Last update: 2016-02-05 19:01    [W:0.114 / U:9.824 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site