All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Arjan van de Ven <arjan@linux.intel.com>
Cc: Morten Rasmussen <morten.rasmussen@arm.com>,
	Nicolas Pitre <nicolas.pitre@linaro.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Preeti U Murthy <preeti@linux.vnet.ibm.com>,
	Len Brown <len.brown@intel.com>,
	Preeti Murthy <preeti.lkml@gmail.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	LKML <linux-kernel@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Lists linaro-kernel <linaro-kernel@lists.linaro.org>
Subject: Re: [RFC PATCH 3/3] idle: store the idle state index in the struct rq
Date: Mon, 3 Feb 2014 15:56:05 +0100	[thread overview]
Message-ID: <20140203145605.GL8874@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <52EFA9D3.1030601@linux.intel.com>


Arjan, could you have a look at teaching your Thunderpants to wrap lines
at ~80 chars please?

On Mon, Feb 03, 2014 at 06:38:11AM -0800, Arjan van de Ven wrote:
> On 2/3/2014 4:54 AM, Morten Rasmussen wrote:
> 
> >
> >I'm therefore not convinced that idle state index is the right thing to
> >give the scheduler. Using a cost metric would be better in my
> >opinion.
> 
> 
> I totally agree with this, and we may need two separate cost metrics
> 
> 1) A latency driven one
> 2) A performance impact on
> 
> first one is pretty much the exit latency related time, sort of a
> "expected time to first instruction" (currently menuidle has the
> 99.999% worst case number, which is not useful for this, but is a
> first approximation). This is obviously the dominating number for
> expected-short running tasks
> 
> second on is more of a "is there any cache/TLB left or is it flushed"
> kind of metric. It's more tricky to compute, since what is the cost of
> an empty cache (or even a cache migration) after all....  .... but I
> suspect it's in part what the scheduler will care about more for
> expected-long  running tasks.

Yeah, so currently we 'assume' cache hotness based on runtime; see
task_hot(). A hint that the CPU wiped its caches might help there.

We also used to measure the entire cache migration cost between all
topologies in the system. That got ripped out when CFS got introduced,
but there's been a few people wanting to bring that back because the
single migration cost thingy simply doesn't work too well for some
workloads.

The reason Ingo took it out was that these measured numbers would
slightly vary from boot to boot making it hard to compare performance
numbers across boots.

There's something to be said for either case I suppose.

  reply	other threads:[~2014-02-03 14:56 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-30 14:09 [RFC PATCH 0/3] cpuidle/sched: move main idle function in the idle.c Daniel Lezcano
2014-01-30 14:09 ` [RFC PATCH 1/3] cpuidle: split cpuidle_idle_call main function into functions Daniel Lezcano
2014-01-30 15:27   ` Peter Zijlstra
2014-01-30 15:39     ` Daniel Lezcano
2014-01-30 19:39   ` Nicolas Pitre
2014-01-31 14:10     ` Daniel Lezcano
2014-01-30 14:09 ` [RFC PATCH 2/3] cpuidle: move the cpuidle_idle_call function to idle.c Daniel Lezcano
2014-01-30 19:42   ` Nicolas Pitre
2014-01-30 14:09 ` [RFC PATCH 3/3] idle: store the idle state index in the struct rq Daniel Lezcano
2014-01-30 15:31   ` Peter Zijlstra
2014-01-30 16:27     ` Daniel Lezcano
2014-01-30 16:35       ` Peter Zijlstra
2014-01-30 17:25         ` Daniel Lezcano
2014-01-30 17:50           ` Lorenzo Pieralisi
2014-01-30 21:02             ` Nicolas Pitre
2014-01-31  9:46               ` Vincent Guittot
2014-01-31 10:04               ` Lorenzo Pieralisi
2014-01-31 10:44               ` Daniel Lezcano
2014-01-31  8:45           ` Preeti Murthy
2014-01-31  9:02             ` Peter Zijlstra
2014-01-31  9:39               ` Preeti U Murthy
2014-01-31 10:24                 ` Peter Zijlstra
2014-01-31 14:04                 ` Daniel Lezcano
2014-01-31 14:12                   ` Dietmar Eggemann
2014-01-31 15:07                 ` Arjan van de Ven
2014-01-31 15:37                   ` Daniel Lezcano
2014-01-31 15:50                     ` Arjan van de Ven
2014-01-31 16:35                       ` Daniel Lezcano
2014-01-31 16:42                         ` Arjan van de Ven
2014-01-31 18:19                       ` Nicolas Pitre
2014-02-01  6:00                         ` Brown, Len
2014-02-01 15:31                           ` Nicolas Pitre
2014-02-01 19:39                             ` Brown, Len
2014-02-01 20:13                               ` Nicolas Pitre
2014-02-01 15:40                           ` Lorenzo Pieralisi
2014-02-03 12:54                         ` Morten Rasmussen
2014-02-03 14:38                           ` Arjan van de Ven
2014-02-03 14:56                             ` Peter Zijlstra [this message]
2014-02-03 16:17                               ` Arjan van de Ven
2014-02-11 16:41                                 ` Peter Zijlstra
2014-02-11 17:12                                   ` Arjan van de Ven
2014-02-11 19:47                                     ` Peter Zijlstra
2014-02-12 15:16                                 ` Lorenzo Pieralisi
2014-02-12 16:14                                   ` Arjan van de Ven
2014-02-12 17:37                                     ` Lorenzo Pieralisi
2014-02-12 19:05                                       ` Nicolas Pitre
2014-02-04  9:14                               ` Ingo Molnar
2014-02-04 14:53                                 ` Arjan van de Ven
2014-02-04 14:56                                 ` Arjan van de Ven
2014-02-03 14:58                           ` Nicolas Pitre
2014-01-31 10:15             ` Daniel Lezcano
2014-02-03  6:33               ` Preeti U Murthy

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=20140203145605.GL8874@twins.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=arjan@linux.intel.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=len.brown@intel.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=morten.rasmussen@arm.com \
    --cc=nicolas.pitre@linaro.org \
    --cc=preeti.lkml@gmail.com \
    --cc=preeti@linux.vnet.ibm.com \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.