[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080219205938.GC13958@one.firstfloor.org>
Date: Tue, 19 Feb 2008 21:59:38 +0100
From: Andi Kleen <andi@...stfloor.org>
To: Mike Travis <travis@....com>
Cc: Andi Kleen <andi@...stfloor.org>, Yinghai Lu <Yinghai.Lu@....COM>,
Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
lameter@....com
Subject: Re: [PATCH] x86_64: remove never used nodenumer in pda
On Tue, Feb 19, 2008 at 10:32:38AM -0800, Mike Travis wrote:
> Andi Kleen wrote:
> > On Tue, Feb 19, 2008 at 07:48:54AM -0800, Mike Travis wrote:
> >> Andi Kleen wrote:
> >>> Yinghai Lu <Yinghai.Lu@....COM> writes:
> >>>
> >>>> we don't need copy too. already have x86_cpu_to_node_map
> >>> That's a regression (probably from Mike's patches?). Until recently it was
> >>> used.
> >> Yes, I had removed it because I couldn't find any references to it.
> >
> > Hmm, maybe it regressed earlier. Sorry if I blamed you incorrectly.
> > Anyways at some point this definitely worked. I remember writing
> > the code ;-)
> >
> >> And reading one's own percpu variables should be as efficient as
> >> reading one's own pda.
> >
> > Sure, but the point is that getting the current node is a common
> > operation, so it should be a single reference and not go through a
> > lookup table.
> >
> > How it is actually implemented -- through PDA or through you new
> > equivalent per cpu variables -- does not really matter as long
> > as the resulting code is only a single instruction. Using
> > the lookup array from the cpu number is wrong.
> >
> > My patch just fixed it back to use the PDA in the old style for now,
> > but if all your per cpu stuff is merged (I admit I haven't tracked
> > if it is or not) replacing that with a per cpu variable would work too
> > if it then generates the same code as with PDA.
> >
> > -Andi
>
> I'll look at it some more as I don't really have a preference either.
> One thing that also bothered me was other cpus read the per cpu
> variable to get the node number whilst the current cpu reads the pda
> variable. I'll see about resolving that quirky-ness. (All one or all
> the other.)
This information should always come from the same variable.
> (And of course the problem with cpus on nodes with no local memory
> needs to be resolved as well.)
All CPUs get assigned to some node at boot.
And there should be always per cpu variables or pda to use.
-Andi
--
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