[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151215171518.GC8012@leverpostej>
Date: Tue, 15 Dec 2015 17:15:19 +0000
From: Mark Rutland <mark.rutland@....com>
To: Vincent Guittot <vincent.guittot@...aro.org>
Cc: Catalin Marinas <catalin.marinas@....com>,
Juri Lelli <juri.lelli@....com>,
Peter Zijlstra <peterz@...radead.org>,
Linus Walleij <linus.walleij@...aro.org>,
Will Deacon <will.deacon@....com>,
Morten Rasmussen <morten.rasmussen@....com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
"linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
Chen-Yu Tsai <wens@...e.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
Pawel Moll <pawel.moll@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Kumar Gala <galak@...eaurora.org>,
Mark Brown <broonie@...nel.org>,
Gregory CLEMENT <gregory.clement@...e-electrons.com>,
Russell King - ARM Linux <linux@....linux.org.uk>,
Dietmar Eggemann <dietmar.eggemann@....com>,
LAK <linux-arm-kernel@...ts.infradead.org>,
Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>,
Paul Walmsley <paul@...an.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
Sudeep Holla <sudeep.holla@....com>,
Olof Johansson <olof@...om.net>,
Maxime Ripard <maxime.ripard@...e-electrons.com>
Subject: Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity
bindings
On Tue, Dec 15, 2015 at 05:59:34PM +0100, Vincent Guittot wrote:
> On 15 December 2015 at 17:41, Mark Rutland <mark.rutland@....com> wrote:
> > On Tue, Dec 15, 2015 at 04:23:18PM +0000, Catalin Marinas wrote:
> >> On Tue, Dec 15, 2015 at 03:57:37PM +0000, Mark Rutland wrote:
> >> > On Tue, Dec 15, 2015 at 03:46:51PM +0000, Juri Lelli wrote:
> >> > > On 15/12/15 15:32, Mark Rutland wrote:
> >> > > > On Tue, Dec 15, 2015 at 03:08:13PM +0000, Mark Brown wrote:
> >> > > > > My expectation is that we just need good enough, not perfect, and that
> >> > > > > seems to match what Juri is saying about the expectation that most of
> >> > > > > the fine tuning is done via other knobs.
> >> > > >
> >> > > > My expectation is that if a ballpark figure is good enough, it should be
> >> > > > possible to implement something trivial like bogomips / loop_per_jiffy
> >> > > > calculation.
> >> > >
> >> > > I didn't really followed that, so I might be wrong here, but isn't
> >> > > already happened a discussion about how we want/like to stop exposing
> >> > > bogomips info or rely on it for anything but in kernel delay loops?
> >> >
> >> > I meant that we could have a benchmark of that level of complexity,
> >> > rather than those specific values.
> >>
> >> Or we could simply let user space use whatever benchmarks or hard-coded
> >> values it wants and set the capacity via sysfs (during boot). By
> >> default, the kernel would assume all CPUs equal.
> >
> > I assume that a userspace override would be available regardless of
> > whatever mechanism the kernel uses to determine relative
> > performance/effinciency.
>
> Don't you think that if we let a complete latitude to the userspace
> to set whatever it wants, it will be used to abuse the kernel (and the
> scheduler in particular ) and that this will finish in a real mess to
> understand what is wrong when a task is not placed where it should be.
I'm not sure I follow what you mean by "abuse" here. Userspace currently
can force the scheduler to make sub-optimal decisions in a number of
ways, e.g.
* Hot-unplugging the preferred CPUs
* Changing a task's affinity mask
* Setting the nice value of a task
* Using rlimits and/or cgroups
* Using a cpufreq governor
* Fork-bombing
Practically all of these are prvileged operations. I would envisage the
userspace interface for "capacity" management to be similar.
> We can probably provide a debug mode to help soc manufacturer to
> define their capacity value but IMHO we should not let complete
> latitude in normal operation
In normal operation userspace wouldn't mess with this, as with most of
the cases above. Userspace can already shooti tself in the foot.
> In normal operation we need to give some methods to tweak the value to
> reflect a memory bounded or integer calculation work or other kind of
> work that currently runs on the cpu but not more
You can already do that with the mechanisms above, to some extent. I'm
not sure I follow.
Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists