lkml.org 
[lkml]   [2007]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/6] x86: Convert cpu_sibling_map to be a per cpu variable (v2) (fwd)
[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 <akpm@linux-foundation.org>
> To: travis@sgi.com
> Cc: Andi Kleen <ak@suse.de>, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
> Christoph Lameter <clameter@sgi.com>
> 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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-09-04 22:37    [W:0.058 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site