Russell King <[EMAIL PROTECTED]> wrote:
>
> On Sat, Mar 25, 2006 at 12:24:11PM -0800, [EMAIL PROTECTED] wrote:
> > A consequence of this (actually of the boot_cpu_init() change) is that the
> > architecture _must_ populate cpu_present_map itself (probably in
> > smp_prepare_cpus()). fixup_cpu_present_map() won't do it any more.
>
> The other side effect (though less serious) is that smp_prepare_boot_cpu()
> no longer needs to mark the boot cpu in the online and present maps -
> boot_cpu_init() does that for everyone.
Yup, thanks.
btw, we did that marking of the boot cpu in boot_cpu_init() to make printk
work early in boot. ia64 needed this, in printk():
if (!cpu_online(smp_processor_id())) {
/*
* Some console drivers may assume that per-cpu resources have
* been allocated. So don't allow them to be called by this
* CPU until it is officially up. We shouldn't be calling into
* random console drivers on a CPU which doesn't exist yet..
*/
printk_cpu = UINT_MAX;
spin_unlock_irqrestore(&logbuf_lock, flags);
goto out;
}
So really it's only necessary to mark the boot cpu in cpu_online_map. But
that's supposed to be a subset of present_map, which is a subset of
possible_map.
-
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html