devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Vincent Guittot
	<vincent.guittot-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
	Juri Lelli <juri.lelli-5wv7dgnIgG8@public.gmane.org>,
	Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Linus Walleij
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
	Morten Rasmussen <morten.rasmussen-5wv7dgnIgG8@public.gmane.org>,
	Lorenzo Pieralisi
	<lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>,
	"linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Gregory CLEMENT
	<gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Russell King - ARM Linux
	<linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Dietmar Eggemann <dietmar.eggemann-5wv7dgnIgG8@public.gmane.org>,
	LAK
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	Thomas Petazzoni
	<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Paul Walmsley
	<paul-DWxLp4Yu+b8AvxtiuMwx3w@public.gmane.org>linux-kernel
	<linux>
Subject: Re: [RFC PATCH 2/8] Documentation: arm: define DT cpu capacity bindings
Date: Tue, 15 Dec 2015 18:39:33 +0000	[thread overview]
Message-ID: <20151215183933.GC8568@leverpostej> (raw)
In-Reply-To: <CAKfTPtBzWcNHx+Fi7hUabNpPsd1thFAkPnLcpsnqbQp6Qq24cQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Tue, Dec 15, 2015 at 06:47:20PM +0100, Vincent Guittot wrote:
> On 15 December 2015 at 18:15, Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> 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-5wv7dgnIgG8@public.gmane.org> 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 devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-12-15 18:39 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
     [not found]           ` <20151211174940.GQ5727-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
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
     [not found]                         ` <20151215150813.GZ5727-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
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
     [not found]                                       ` <CAKfTPtAuosPcL8bbQ27Y-vUE1h4QRY8hGESnm4YrxqRAQ3K=5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-15 17:15                                         ` Mark Rutland
2015-12-15 17:47                                           ` Vincent Guittot
     [not found]                                             ` <CAKfTPtBzWcNHx+Fi7hUabNpPsd1thFAkPnLcpsnqbQp6Qq24cQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-12-15 18:39                                               ` Mark Rutland [this message]
2015-12-15 17:17                             ` Mark Brown
     [not found]                               ` <20151215171713.GA5727-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
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
     [not found]     ` <566988DD.9080005-5wv7dgnIgG8@public.gmane.org>
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
     [not found]         ` <20151207131843.GP8644-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
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=20151215183933.GC8568@leverpostej \
    --to=mark.rutland-5wv7dgnigg8@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dietmar.eggemann-5wv7dgnIgG8@public.gmane.org \
    --cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
    --cc=juri.lelli-5wv7dgnIgG8@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org \
    --cc=morten.rasmussen-5wv7dgnIgG8@public.gmane.org \
    --cc=paul-DWxLp4Yu+b8AvxtiuMwx3w@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=vincent.guittot-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=wens-jdAy2FN1RRM@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.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;
as well as URLs for NNTP newsgroup(s).