andi, it seems ia64 is after done with the tsc_sync then set the callin_map.
YH if (!(sal_platform_features & IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT)) { /* * Synchronize the ITC with the BP. Need to do this after irqs are * enabled because ia64_sync_itc() calls smp_call_function_single(), which * calls spin_unlock_bh(), which calls spin_unlock_bh(), which calls * local_bh_enable(), which bugs out if irqs are not enabled... */ Dprintk("Going to syncup ITC with BP.\n"); ia64_sync_itc(0); } /* * Get our bogomips. */ ia64_init_itm(); calibrate_delay(); local_cpu_data->loops_per_jiffy = loops_per_jiffy; #ifdef CONFIG_IA32_SUPPORT ia32_gdt_init(); #endif /* * Allow the master to continue. */ cpu_set(cpuid, cpu_callin_map); On 8/11/05, yhlu <[EMAIL PROTECTED]> wrote: > andi, > > is it possible for > after the AP1 call_in is done and before AP1 get in tsc_sync_wait > The AP2 call_in done. and then AP1 get in tsc_sync_wait and before it > done, AP2 get in tsc_sync_wait too. > > sync_master can not figure out from AP1 or AP2 because only have > go[MASTER] and go{SLAVE]. > > YH > > On 8/10/05, Andi Kleen <[EMAIL PROTECTED]> wrote: > > On Wed, Aug 10, 2005 at 05:43:23PM -0700, yhlu wrote: > > > 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. > > > > It can be done already by just not starting the CPUs and > > then do it multithreaded from user space using sysfs with > > the CPU hotplug infrastructure. Unfortunately cpu_up > > right now has a global semaphore, so it won't save you any > > time. However it could be done in parallel with other > > startup jobs. > > > > -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/