Yes, I mean more aggressive static void __init smp_init(void) { unsigned int i;
/* FIXME: This should be done in userspace --RR */ for_each_present_cpu(i) { if (num_online_cpus() >= max_cpus) break; if (!cpu_online(i)) cpu_up(i); } let cpu_up take one array instead of one int. So in do_boot_cpu() of smpboot.c /* * Wait 5s total for a response */ for (timeout = 0; timeout < 50000; timeout++) { if (cpu_isset(cpu, cpu_callin_map)) break; /* It has booted */ udelay(100); } could wait all be cpu_callin_map is set. then we can spare more time. YH On 8/10/05, Andi Kleen <[EMAIL PROTECTED]> wrote: > On Wed, Aug 10, 2005 at 05:23:31PM -0700, yhlu wrote: > > I wonder if you can make the bsp can start the APs callin in the same > > time, and make it asynchronous, So you make spare 2s or more. > > The setting of cpu_callin_map in the AP could be moved earlier yes. > But it's not entirely trivial because there are some races to consider. > > And the 1s quiet period on the AP could be probably also reduced > on modern systems. I doubt it is needed on Xeons or Opterons. > > -Andi > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/