From: Peter Zijlstra <peterz@infradead.org>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: nicolas.pitre@linaro.org, mingo@redhat.com, tglx@linutronix.de,
rjw@rjwysocki.net, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org, linaro-kernel@lists.linaro.org
Subject: Re: [RFC PATCH 3/3] idle: store the idle state index in the struct rq
Date: Thu, 30 Jan 2014 17:35:01 +0100 [thread overview]
Message-ID: <20140130163501.GG5002@laptop.programming.kicks-ass.net> (raw)
In-Reply-To: <52EA7D8A.6080604@linaro.org>
On Thu, Jan 30, 2014 at 05:27:54PM +0100, Daniel Lezcano wrote:
> struct cpuidle_state *state = &drv->states[rq->index];
>
> And from the state, we have the following informations:
>
> struct cpuidle_state {
>
> [ ... ]
>
> unsigned int exit_latency; /* in US */
> int power_usage; /* in mW */
> unsigned int target_residency; /* in US */
> bool disabled; /* disabled on all CPUs */
>
> [ ... ]
> };
Right, but can we say that a higher index will save more power and have
a higher exit latency? Or is a driver free to have a random mapping from
idle_index to state?
Also, we should probably create a pretty function to get that state,
just like you did in patch 1.
> IIRC, Alex Shi sent a patchset to improve the choosing of the idlest cpu and
> the exit_latency was needed.
Right. However if we have a 'natural' order in the state array the index
itself might often be sufficient to find the least idle state, in this
specific case the absolute exit latency doesn't matter, all we want is
the lowest one.
Not dereferencing the state array saves hitting cold cachelines.
next prev parent reply other threads:[~2014-01-30 16:35 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 [this message]
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
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=20140130163501.GG5002@laptop.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=daniel.lezcano@linaro.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nicolas.pitre@linaro.org \
--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.