Re: [patch 5/8] Immediate Values - x86 Optimization (simplified)

Rusty Russell
2007-11-19T23:06:56Z

On Tuesday 20 November 2007 01:28:03 Mathieu Desnoyers wrote:
> * Rusty Russell (rusty@rustcorp.com.au) wrote:
> > I think it would be easier to just fast-path the num_online_cpus == 1
> > case, even if you want to keep this "update_early" interface.
>
> Nope, that could lead to problems. I call core_immediate_update()
> _very_ early, before boot_cpu_init() is called.

Ah, I see the problem. It would in fact be clearer for us to move
boot_cpu_init() up to just after smp_setup_processor_id() in start_kernel
anyway, not just for this code, but in general.

> Therefore,
> cpu_online_map is not set yet. I am not sure the benefit of using
> num_online_cpus outweights the added fragility wrt other boot process
> initializations.

I think it's still a win, though worth a comment that we always go via the
non-IPI path for the early boot case.

Cheers,
Rusty.