From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
To: Arjan van de Ven <arjan@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>,
Trinabh Gupta <trinabh@linux.vnet.ibm.com>,
Venkatesh Pallipadi <venki@google.com>,
peterz@infradead.org, lenb@kernel.org, suresh.b.siddha@intel.com,
benh@kernel.crashing.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC V1] cpuidle: add idle routine registration and cleanup pm_idle pointer
Date: Thu, 21 Oct 2010 00:49:41 +0530 [thread overview]
Message-ID: <20101020191941.GA706@dirshya.in.ibm.com> (raw)
In-Reply-To: <4CBF12CB.9050604@linux.intel.com>
* Arjan van de Ven <arjan@linux.intel.com> [2010-10-20 09:03:23]:
> On 10/20/2010 8:34 AM, Andi Kleen wrote:
> >
> >>but now you're duplicating this functionality adding code for everyone.
> >>
> >>99.999% of the people today run cpuidle... (especially embedded
> >>x86 where they really care about power)
> >>all x86 going forward also has > 1 idle option anyway.
> >>
> >>and you're adding and extra layer in the middle that just
> >>duplicates the layer that's in use in practice above it.
> >>
> >>seriously, this sounds like the wrong tradeoff to make.
> >
> >I think the right option is still to put cpuidle on a diet.
> >There's no reason an idle handler needs to be that bloated.
> >
> >If it was 2K or so just including it into the core would be fine.
> >
> >Ignoring code size completely is generally a wrong trade off imho.
>
> I'm not ignoring code size.
> I'm saying that a 7Kb component that everyone on this architecture
> uses in practice versus adding 0.5Kb in ADDITION to that for
> everyone for the theoretical case
> of someone NOT using cpuidle is the wrong tradeoff.
Hi Arjan,
I agree with you that we need not add 0.5K extra code to x86 cpuidle
framework that is in use by most systems. However, this is only an
intermediate step (RFC) before we move/merge registration parts of
cpuidle into the kernel and leave only the governors as pluggable.
> having it go on a diet? I'm all for it. Killing off the ladder
> governor for example is a step.
> But really. 7Kb. There's lots of lower hanging fruit as well. 7Kb is
> not a reason to make such a bad tradeoff.
I see this RFC as an incremental step to move all idle routine
registration functionality into the kernel and keep governors and low
level drivers as modules. This will allow non x86 archs with just one
idle routine to keep minimal overhead. (Though this is becoming very
rare).
As stated in the goal the solution should satisfy the following
requirements:
4. Minimal overhead for arch with following use cases
a) Single compile time defined idle routine, no need for
runtime/boot time selection
b) Single idle routine, but selectable during boot/runtime.
No need for cpuidle governors
c) Runtime selection of single or multi-idle routines and
demand loading/usage of governors to select one among the
set of idle routines. (Current x86 model)
Making current cpuidle as default in kernel and make everybody else
register into cpuidle will satisfy (c), but we will need to slim down
the framework and keep parts of it as module to satisfy (b).
I think we agree on the goal, but need some discussion on what should
be the steps to reach the goal with incremental code changes and
without breaking multiple architectures at the same time.
--Vaidy
next prev parent reply other threads:[~2010-10-20 19:20 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-19 18:36 [RFC V1] cpuidle: add idle routine registration and cleanup pm_idle pointer Trinabh Gupta
2010-10-19 18:38 ` Arjan van de Ven
2010-10-19 18:49 ` Venkatesh Pallipadi
2010-10-19 19:01 ` Trinabh Gupta
2010-10-20 15:12 ` Trinabh Gupta
2010-10-20 15:18 ` Arjan van de Ven
2010-10-20 15:34 ` Andi Kleen
2010-10-20 16:03 ` Arjan van de Ven
2010-10-20 19:19 ` Vaidyanathan Srinivasan [this message]
2010-10-20 19:25 ` Arjan van de Ven
2010-10-20 19:28 ` Peter Zijlstra
2010-10-20 19:29 ` Arjan van de Ven
2010-10-20 19:40 ` Vaidyanathan Srinivasan
2010-10-20 19:44 ` Arjan van de Ven
2010-10-20 19:47 ` Venkatesh Pallipadi
2010-10-20 20:03 ` Vaidyanathan Srinivasan
2010-10-20 20:47 ` Arjan van de Ven
2010-10-20 21:19 ` Venkatesh Pallipadi
2010-10-20 20:55 ` Dipankar Sarma
2010-10-20 15:57 ` Trinabh Gupta
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=20101020191941.GA706@dirshya.in.ibm.com \
--to=svaidy@linux.vnet.ibm.com \
--cc=ak@linux.intel.com \
--cc=arjan@linux.intel.com \
--cc=benh@kernel.crashing.org \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=suresh.b.siddha@intel.com \
--cc=trinabh@linux.vnet.ibm.com \
--cc=venki@google.com \
/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.