preempt_disable();
int __devinit start_secondary(void *unused){	int cpu;	atomic_inc(&init_mm.mm_count);	current->active_mm = &init_mm;	cpu = smp_processor_id();        smp_store_cpu_info(cpu);	set_dec(tb_ticks_per_jiffy);	cpu_callin_map[cpu] = 1;	printk("CPU %d done callin...\n", cpu);	smp_ops->setup_cpu(cpu);	printk("CPU %d done setup...\n", cpu);	smp_ops->take_timebase();	printk("CPU %d done timebase take...\n", cpu);	spin_lock(&call_lock);	cpu_set(cpu, cpu_online_map);	spin_unlock(&call_lock);	local_irq_enable();	cpu_idle();	return 0;}