[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1330652258.30167.70.camel@sbsiddha-desk.sc.intel.com>
Date: Thu, 01 Mar 2012 17:37:37 -0800
From: Suresh Siddha <suresh.b.siddha@...el.com>
To: Venki Pallipadi <venki@...gle.com>
Cc: Ingo Molnar <mingo@...e.hu>, Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Aaron Durbin <adurbin@...gle.com>,
Paul Turner <pjt@...gle.com>,
Yong Zhang <yong.zhang0@...il.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Extend mwait idle to optimize away CAL and RES
interrupts to an idle CPU -v1
On Thu, 2012-03-01 at 17:35 -0800, Venki Pallipadi wrote:
> On Thu, Mar 1, 2012 at 5:28 PM, Suresh Siddha <suresh.b.siddha@...el.com> wrote:
> > On Thu, 2012-03-01 at 16:33 -0800, Venki Pallipadi wrote:
> >> >
> >> > fork_idle() should also make sure it does not schedule the child
> >> > thread: thus we'd also be able to further simplify smpboot.c and
> >> > get rid of all that extremely ugly 'struct create_idle'
> >> > gymnastics in smpboot.c.
> >>
> >> But not this. I am not sure where fork_idle results in resched of the child.
> >> As I saw it, fork_idle calls init_idle and that sets the affinity of
> >> idle_task to target CPU. So, reschedule should not be a problem. What
> >> am I missing here?
> >
> > I think Ingo is referring to the fact that we can't use kthread_create()
> > here and hence we were relying on fork_idle().
> >
> >> Also, I tried this silly test patch (Cut and paste... Sorry) and it
> >> seemed to work fine both with and without CPU hotplug.
> >>
> >
> > I don't think we can do this today, as we need to make sure we have the
> > correct current context. With dynamic cpu hotplug, current context can
> > be any process and hence we were depending on the schedule_work()
> > context.
> >
>
> schedule_work() is only done at boot time. In case of dynamic cpu
> hotplug, we skip the whole fork_idle as we already have the task
> struct and just do init_idle().
>
What happens if we boot with "maxcpus=" and later online the remaining
cpu's? same issue with the physical cpu-online case too right?
thanks,
suresh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists