public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity bindings
Date: Tue, 15 Dec 2015 17:15:19 +0000	[thread overview]
Message-ID: <20151215171518.GC8012@leverpostej> (raw)
In-Reply-To: <CAKfTPtAuosPcL8bbQ27Y-vUE1h4QRY8hGESnm4YrxqRAQ3K=5g@mail.gmail.com>

On Tue, Dec 15, 2015 at 05:59:34PM +0100, Vincent Guittot wrote:
> On 15 December 2015 at 17:41, Mark Rutland <mark.rutland@arm.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.

  reply	other threads:[~2015-12-15 17:15 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-23 14:28 [RFC PATCH 0/8] CPUs capacity information for heterogeneous systems Juri Lelli
2015-11-23 14:28 ` [RFC PATCH 1/8] ARM: initialize cpu_scale to its default Juri Lelli
2015-11-30 11:13   ` Vincent Guittot
2015-11-23 14:28 ` [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity bindings Juri Lelli
2015-11-24  2:06   ` Rob Herring
2015-11-24 10:54     ` Juri Lelli
2015-11-30  9:59       ` Vincent Guittot
2015-12-01 11:20         ` Juri Lelli
2015-12-10 14:14           ` Dietmar Eggemann
2015-12-11 10:09             ` Juri Lelli
2015-12-10 15:30     ` Mark Brown
2015-12-10 17:58       ` Juri Lelli
2015-12-11 17:49         ` Mark Brown
2015-12-14 12:36           ` Juri Lelli
2015-12-14 16:59             ` Mark Brown
2015-12-15 12:22               ` Juri Lelli
2015-12-15 13:39                 ` Mark Brown
2015-12-15 14:01                   ` Mark Rutland
2015-12-15 14:24                     ` Juri Lelli
2015-12-15 14:50                       ` Mark Rutland
2015-12-15 15:36                         ` Juri Lelli
2015-12-15 15:08                     ` Mark Brown
2015-12-15 15:32                       ` Mark Rutland
2015-12-15 15:46                         ` Juri Lelli
2015-12-15 15:57                           ` Mark Rutland
2015-12-15 16:23                             ` Catalin Marinas
2015-12-15 16:41                               ` Mark Rutland
2015-12-15 16:59                                 ` Vincent Guittot
2015-12-15 17:15                                   ` Mark Rutland [this message]
2015-12-15 17:47                                     ` Vincent Guittot
2015-12-15 18:39                                       ` Mark Rutland
2015-12-15 17:17                         ` Mark Brown
2015-12-15 17:28                           ` Mark Rutland
2015-12-15 17:45                             ` Mark Brown
2015-12-15 18:10                               ` Mark Rutland
2015-12-15 18:45                                 ` Mark Brown
2015-12-17  9:07                               ` Juri Lelli
2015-12-15 13:55                 ` Vincent Guittot
2015-11-23 14:28 ` [RFC PATCH 3/8] arm: parse cpu capacity from DT Juri Lelli
2015-12-10 14:14   ` Dietmar Eggemann
2015-12-11 10:12     ` Juri Lelli
2015-11-23 14:28 ` [RFC PATCH 4/8] arm, dts: add TC2 cpu capacity information Juri Lelli
2015-11-23 14:28 ` [RFC PATCH 5/8] arm64: parse cpu capacity from DT Juri Lelli
2015-12-10 14:15   ` Dietmar Eggemann
2015-12-11 10:07     ` Juri Lelli
2015-11-23 14:28 ` [RFC PATCH 6/8] arm64, dts: add Juno cpu capacity information Juri Lelli
2015-11-23 14:28 ` [RFC PATCH 7/8] arm: add sysfs cpu_capacity attribute Juri Lelli
2015-11-23 14:28 ` [RFC PATCH 8/8] arm64: " Juri Lelli
2015-12-10 14:15   ` Dietmar Eggemann
2015-12-10 15:59     ` Mark Brown
2015-12-10 18:01       ` Juri Lelli
2015-12-11 17:54         ` Mark Brown
2015-12-07 12:02 ` [RFC PATCH 0/8] CPUs capacity information for heterogeneous systems Juri Lelli
2015-12-07 12:11   ` Russell King - ARM Linux
2015-12-07 12:36     ` Juri Lelli
2015-12-07 13:18       ` Russell King - ARM Linux
2015-12-07 15:41         ` Juri Lelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151215171518.GC8012@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox