preempt_disable(); 
static void pseries_shared_idle(void){	struct paca_struct *lpaca = get_paca();	unsigned int cpu = smp_processor_id();	while (1) {		/*		 * Indicate to the HV that we are idle. Now would be		 * a good time to find other work to dispatch.		 */		lpaca->lppaca.idle = 1;		while (!need_resched() && !cpu_is_offline(cpu)) {			local_irq_disable();			ppc64_runlatch_off();			/*			 * Yield the processor to the hypervisor.  We return if			 * an external interrupt occurs (which are driven prior			 * to returning here) or if a prod occurs from another			 * processor. When returning here, external interrupts			 * are enabled.			 *			 * Check need_resched() again with interrupts disabled			 * to avoid a race.			 */			if (!need_resched())				cede_processor();			else				local_irq_enable();			HMT_medium();		}		lpaca->lppaca.idle = 0;		ppc64_runlatch_on();		schedule();		if (cpu_is_offline(cpu) && system_state == SYSTEM_RUNNING)			cpu_die();	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/5bfb5d690f36d316a5f3b4f7775fda996faa6b12/setup.c/clean/arch/powerpc/platforms/pseries/setup.c