[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2234BBB33B4B2048B28E3B3ACFC9795C01B53656@CNBEEXC007.nsn-intra.net>
Date: Mon, 22 Mar 2010 15:45:36 +0800
From: "Zhu, Yijun (NSN - CN/Beijing)" <yijun.zhu@....com>
To: "ext Andi Kleen" <andi@...stfloor.org>
Cc: <linux-kernel@...r.kernel.org>, <linux-arch@...r.kernel.org>
Subject: RE: Questions about SMP bootup control
-----Original Message-----
From: ext Andi Kleen [mailto:andi@...stfloor.org]
Sent: Monday, March 22, 2010 11:29 AM
To: Zhu, Yijun (NSN - CN/Beijing)
Cc: linux-kernel@...r.kernel.org; linux-arch@...r.kernel.org
Subject: Re: Questions about SMP bootup control
"Zhu, Yijun (NSN - CN/Beijing)" <yijun.zhu@....com> writes:
> Hi All:
>
> I want to do some modification on the SMP architecture.
>
> Purpose:
> Only the first CPU is running the linux OS, while others do some
private
> services processing.
>
> My solution:
> In the end of the start_secondary() function, I try to schedu the
slave
> cpu to call my private endless loop instead of cpu_idle();
>
> Result:
> The system can NOT up, there is no interactive cli.
>
> Question:
> Is there some wrong with my modification or I go to the wrong way?
> Presumably you're doing this to own that CPU exclusively.
>
> Hooking at cpu_idle is not very useful then because interrupts will be
> already enabled and the system participate in IPIs etc, so you can't
> simply disable them, the others will miss them.
>
> You would rather need to prevent them from being started in the
> first place, e.g. by exluding them with maxcpus=..
>
> A better alternative might be to use isolcpus=... and schedule
> a standard program.
>
> -Andi
> --
> ak@...ux.intel.com -- Speaking for myself only.
Thank you very much. But when I try to apply with the isolcpus opinion,
It seems it still can NOT work.
All other CPUs are isolated, only the first one is left.
Then I found all others are still initialized by the start_secondary()
even I use the isolated opinion, in the end,
I add an endless loop instead of cpu_idle(), The system still can NOT
up.
So is there any mistake in what I did, could someone be kindness to give
me more suggestions.
Thanks in advance.
--
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