From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <46DDC017.4040301@sgi.com> Date: Tue, 04 Sep 2007 13:29:11 -0700 From: Mike Travis MIME-Version: 1.0 Subject: Re: [PATCH 3/6] x86: Convert cpu_sibling_map to be a per cpu variable (v2) (fwd) References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org Return-Path: To: Christoph Lameter Cc: Jack Steiner , Andi Kleen , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , Kamalesh Babulal List-ID: [Sorry, I did not see this message until Christoph forwarded it to me. I'm guessing we (SGI) still have a problem with our external spam filter?] > > ---------- Forwarded message ---------- > Date: Fri, 31 Aug 2007 19:49:03 -0700 > From: Andrew Morton > To: travis@sgi.com > Cc: Andi Kleen , linux-mm@kvack.org, linux-kernel@vger.kernel.org, > Christoph Lameter > Subject: Re: [PATCH 3/6] x86: Convert cpu_sibling_map to be a per cpu variable > (v2) > > On Fri, 24 Aug 2007 15:26:57 -0700 travis@sgi.com wrote: > >> Convert cpu_sibling_map from a static array sized by NR_CPUS to a >> per_cpu variable. This saves sizeof(cpumask_t) * NR unused cpus. >> Access is mostly from startup and CPU HOTPLUG functions. > > ia64 allmodconfig: > > kernel/sched.c: In function `cpu_to_phys_group': kernel/sched.c:5937: error: `per_cpu__cpu_sibling_map' undeclared (first use in this function) kernel/sched.c:5937: error: (Each undeclared identifier is reported only once > kernel/sched.c:5937: error: for each function it appears in.) kernel/sched.c:5937: warning: type defaults to `int' in declaration of `type name' > kernel/sched.c:5937: error: invalid type argument of `unary *' kernel/sched.c: In function `build_sched_domains': kernel/sched.c:6172: error: `per_cpu__cpu_sibling_map' undeclared (first use in this function) kernel/sched.c:6172: warning: type defaults to `int' in declaration of `type name' kernel/sched.c:6172: error: invalid type argument of `unary *' kernel/sched.c:6183: warning: type defaults to `int' in declaration of `type name' kernel/sched.c:6183: error: invalid type argument of `unary *' I'm thinking that the best approach would be to define a cpu_sibling_map() macro to handle the cases where cpu_sibling_map is not a per_cpu variable? Perhaps something like: #ifdef CONFIG_SCHED_SMT #ifndef cpu_sibling_map #define cpu_sibling_map(cpu) cpu_sibling_map[cpu] #endif #endif My question though, would include/linux/smp.h be the appropriate place for the above define? (That is, if the above approach is the correct one... ;-) Thanks, Mike -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org