[PATCH] Add idle wait support for 44x platforms
Jerone Young
jyoung5 at us.ibm.com
Fri Apr 4 17:12:38 EST 2008
On Fri, 2008-04-04 at 10:03 +1100, Tony Breeds wrote:
> On Thu, Apr 03, 2008 at 05:43:02PM -0500, Jerone Young wrote:
>
> Hi Jerone,
> A few minor nits.
> > Add idle wait support for 44x platforms
> >
> > This patch adds the ability for the CPU to go into wait state while in cpu_idle loop. This helps virtulization solutions know when the guest Linux kernel is in an idle state. There are two ways to do it.
> >
> > 1) Command line
> > idle=spin <-- CPU will spin (this is the default)
> > idle=wait <-- set CPU into wait state when idle
> >
> > 2) The device tree will be checked for the "/hypervisor" node
> > If this node is seen it will use "wait" for idle, so that
> > the hypervisor can know when guest Linux kernel it is in
> > an idle state.
> >
> > This patch, unlike the last, isolates the code to 44x platforms.
> >
> > Signed-off-by: Jerone Young <jyoung5 at us.ibm.com>
>
> Can you include a diffstat in here?
I think there is a way. I can see if I can do it. Though I may have to
do it out side of my normal hg tools.
>
> > +static int current_mode = 0;
>
> Leave this as: static int current_mode;, so it'll end up in the bss
The problem here is that this defines the default case. Is there really
a benefit having this in bss ?
>
> > +int __init ppc44x_idle_init(void)
> > +{
> > + if(of_find_node_by_path("/hypervisor") != NULL) {
> ^ space
> > + /* if we find /hypervisor node is in device tree,
> > + set idle mode to wait */
> > + current_mode = 1; /* wait mode */
> > + }
>
> You don't really need the braces {} here.
>
> > +static int __init idle_param(char *p)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < sizeof(modes)/sizeof(struct sleep_mode); i++) {
>
> ARRAY_SIZE(modes)
I'll do this.
>
> Yours Tony
>
> linux.conf.au http://www.marchsouth.org/
> Jan 19 - 24 2009 The Australian Linux Technical Conference!
>
More information about the Linuxppc-dev
mailing list