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


Groups > linux.kernel > #1292457

Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity bindings

From Mark Rutland <mark.rutland@arm.com>
Newsgroups linux.kernel
Subject Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity bindings
Date 2015-12-15 19:40 +0100
Message-ID <qG2FZ-7U3-29@gated-at.bofh.it> (permalink)
References (5 earlier) <qG0Eb-6Cw-33@gated-at.bofh.it> <qG0Xv-6KR-17@gated-at.bofh.it> <qG1gS-76S-11@gated-at.bofh.it> <qG1qy-7ai-37@gated-at.bofh.it> <qG1TA-7mv-29@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Dec 15, 2015 at 06:47:20PM +0100, Vincent Guittot wrote:
> On 15 December 2015 at 18:15, Mark Rutland <mark.rutland@arm.com> wrote:
> > 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
> 
> All these are parameters have a meaning (except the last one). By
> abusing i mean setting the capacity of the most powerful cpu to 1 for
> no good reason except to abuse the scheduler so the latter will not
> put that much tasks on it just  because the current running use case
> is more efficient if the big core is not used.

Surely it's better to allow them to "abuse" the kernel in that manner
than to place otherwise insane values into a DT? Especially if they can
later change to a sane value?

For that particular case it's easy to hotplug out the big core, or to
set the affinity of tasks to avoid it.

Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


Thread

Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Juri Lelli <juri.lelli@arm.com> - 2015-12-14 13:40 +0100
  Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Brown <broonie@kernel.org> - 2015-12-14 18:00 +0100
    Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Juri Lelli <juri.lelli@arm.com> - 2015-12-15 13:30 +0100
      Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Brown <broonie@kernel.org> - 2015-12-15 14:50 +0100
        Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 15:10 +0100
          Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Juri Lelli <juri.lelli@arm.com> - 2015-12-15 15:30 +0100
            Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 16:00 +0100
              Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Juri Lelli <juri.lelli@arm.com> - 2015-12-15 16:40 +0100
          Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Brown <broonie@kernel.org> - 2015-12-15 16:10 +0100
            Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 16:40 +0100
              Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Juri Lelli <juri.lelli@arm.com> - 2015-12-15 16:50 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 17:00 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Catalin Marinas <catalin.marinas@arm.com> - 2015-12-15 17:30 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 17:50 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity bindings Vincent Guittot <vincent.guittot@linaro.org> - 2015-12-15 18:10 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 18:20 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity bindings Vincent Guittot <vincent.guittot@linaro.org> - 2015-12-15 18:50 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 19:40 +0100
              Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Brown <broonie@kernel.org> - 2015-12-15 18:20 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 18:30 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Brown <broonie@kernel.org> - 2015-12-15 18:50 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Rutland <mark.rutland@arm.com> - 2015-12-15 19:20 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Mark Brown <broonie@kernel.org> - 2015-12-15 19:50 +0100
                Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity  bindings Juri Lelli <juri.lelli@arm.com> - 2015-12-17 10:10 +0100
      Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity bindings Vincent Guittot <vincent.guittot@linaro.org> - 2015-12-15 15:00 +0100

csiph-web