[PATCH] sched: fix-local_cpu_mask

From: Mike Travis
Date: Mon Nov 24 2008 - 14:20:00 EST


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@xxxxxxx>
---
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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/