On Thu, 8 Jan 2009, David Daney wrote: > > +#ifdef CONFIG_SMP > + init_irq_default_affinity(); > +#endif Don't do this. It's horrible. It makes the code much harder to read. What's so wrong with initializing affinity on UP? It's still conceptually a fine thing to do, although it's obviously trivially a no-op. Also, since it's only used in "handle.c", why not just move it there? Then, just make it static, and make it a no-op for the non-SMP case. Ok? In fact, I think it already is a no-op in the UP case, and you can literally just do static inline void __init init_irq_default_affinity(void) { alloc_cpumask_var(&irq_default_affinity, GFP_KERNEL); cpumask_setall(irq_default_affinity); } and be done with it. I think it should all compile away to nothing if CONFIG_SMP isn't set. Linus