diff options
Diffstat (limited to 'arch/powerpc/platforms/iseries/setup.c')
| -rw-r--r-- | arch/powerpc/platforms/iseries/setup.c | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/iseries/setup.c b/arch/powerpc/platforms/iseries/setup.c index ea0acbd8966..8fc62586a97 100644 --- a/arch/powerpc/platforms/iseries/setup.c +++ b/arch/powerpc/platforms/iseries/setup.c @@ -563,7 +563,8 @@ static void yield_shared_processor(void)  static void iseries_shared_idle(void)  {  	while (1) { -		tick_nohz_stop_sched_tick(1); +		tick_nohz_idle_enter(); +		rcu_idle_enter();  		while (!need_resched() && !hvlpevent_is_pending()) {  			local_irq_disable();  			ppc64_runlatch_off(); @@ -577,7 +578,8 @@ static void iseries_shared_idle(void)  		}  		ppc64_runlatch_on(); -		tick_nohz_restart_sched_tick(); +		rcu_idle_exit(); +		tick_nohz_idle_exit();  		if (hvlpevent_is_pending())  			process_iSeries_events(); @@ -593,7 +595,8 @@ static void iseries_dedicated_idle(void)  	set_thread_flag(TIF_POLLING_NRFLAG);  	while (1) { -		tick_nohz_stop_sched_tick(1); +		tick_nohz_idle_enter(); +		rcu_idle_enter();  		if (!need_resched()) {  			while (!need_resched()) {  				ppc64_runlatch_off(); @@ -610,7 +613,8 @@ static void iseries_dedicated_idle(void)  		}  		ppc64_runlatch_on(); -		tick_nohz_restart_sched_tick(); +		rcu_idle_exit(); +		tick_nohz_idle_exit();  		preempt_enable_no_resched();  		schedule();  		preempt_disable();  |