printk("ok\n"); 
BUG_ON(smp_processor_id() != 0); if (error) panic("cpus not sleeping"); 
void disable_nonboot_cpus(void){	oldmask = current->cpus_allowed;	set_cpus_allowed(current, cpumask_of_cpu(0));	printk("Freezing CPUs (at %d)", raw_smp_processor_id());	current->state = TASK_INTERRUPTIBLE;	schedule_timeout(HZ);	printk("...");	BUG_ON(raw_smp_processor_id() != 0);	/* FIXME: for this to work, all the CPUs must be running	 * "idle" thread (or we deadlock). Is that guaranteed? */	atomic_set(&cpu_counter, 0);	atomic_set(&freeze, 1);	smp_call_function(smp_pause, NULL, 0, 0);	while (atomic_read(&cpu_counter) < (num_online_cpus() - 1)) {		cpu_relax();		barrier();	}	printk("ok\n");}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/5a72e04df5470df0ec646029d31e5528167ab1a7/smp.c/buggy/kernel/power/smp.c