Messages in this thread Patch in this message | | | Date | Mon, 24 Nov 2008 11:19:48 -0800 | From | Mike Travis <> | Subject | [PATCH] sched: fix-local_cpu_mask |
| |
Ingo Molnar wrote: > plus there's a build failure as well on 32-bit: > > kernel/sched_rt.c:1561: error: 'per_cpu__local_cpu_mask' undeclared (first use in this function) > kernel/sched_rt.c:1561: error: (Each undeclared identifier is reported only once > kernel/sched_rt.c:1561: error: for each function it appears in.) > kernel/sched.c:8348: error: 'nohz' undeclared (first use in this function) > kernel/sched.c:8350: error: 'cpu_isolated_map' undeclared (first use in this function) > > with the attached config, caused by your patches. Please send delta > fixes against tip/cpus4096. > > Thanks, > > Ingo > sched: fix-local_cpu_mask
This should fix the errors for the i386 non-smp case. I've also checked it against the 32/64 allnoconfigs and allyesconfigs.
Based on tip/cpus4096 @ v2.6.28-rc6-254-g96f874e
Signed-off-by: Mike Travis <travis@sgi.com> --- kernel/sched.c | 6 ++++-- kernel/sched_rt.c | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-)
--- linux-2.6.28-tip-cpumasks.orig/kernel/sched.c +++ linux-2.6.28-tip-cpumasks/kernel/sched.c @@ -8347,12 +8347,14 @@ void __init sched_init(void) */ current->sched_class = &fair_sched_class; - /* Allocate the nohz_cpu_mask if CONFIG_CPUMASK_OFFSTACK */ - alloc_bootmem_cpumask_var(&nohz_cpu_mask); +#ifdef CONFIG_SMP #ifdef CONFIG_NO_HZ + /* Allocate the nohz_cpu_mask if CONFIG_CPUMASK_OFFSTACK */ alloc_bootmem_cpumask_var(&nohz.cpu_mask); #endif + /* Allocate the cpu_isolated_map if CONFIG_CPUMASK_OFFSTACK */ alloc_bootmem_cpumask_var(&cpu_isolated_map); +#endif scheduler_running = 1; } --- linux-2.6.28-tip-cpumasks.orig/kernel/sched_rt.c +++ linux-2.6.28-tip-cpumasks/kernel/sched_rt.c @@ -1552,7 +1552,8 @@ static void print_rt_stats(struct seq_fi } #endif /* CONFIG_SCHED_DEBUG */ -/* Note that this is never called for !SMP, but that's OK. */ +#ifdef CONFIG_SMP +/* Note that this is never called for !SMP */ static inline void init_sched_rt_class(void) { unsigned int i; @@ -1560,3 +1561,4 @@ static inline void init_sched_rt_class(v for_each_possible_cpu(i) alloc_cpumask_var(&per_cpu(local_cpu_mask, i), GFP_KERNEL); } +#endif
| |