> The behavior of the two loops is not the same because sched_init > is called long before smp_prepare_cpus. Therefore for_each_cpu > only loops once for CPU 0. I know this is not a great fix. > I simply reverted the code to what's worked before. It's certainly the code that I'm still using! ;o) So prom_build_cpu_map needs to be called earlier (as in maybe from smp_prepare_boot_cpu?). Either that, or each secondary needs to take responsibility for initializing its own run queue, but I find the thought of having the system up and running SMP with some run queues not yet initialized makes me nervous. Regards, Kevin K.