aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/process.c')
-rw-r--r--arch/s390/kernel/process.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index e795933eb2cb..3732e4c09cbe 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -77,13 +77,8 @@ static void default_idle(void)
77 local_irq_enable(); 77 local_irq_enable();
78 return; 78 return;
79 } 79 }
80 trace_hardirqs_on(); 80 /* Halt the cpu and keep track of cpu time accounting. */
81 /* Don't trace preempt off for idle. */
82 stop_critical_timings();
83 /* Stop virtual timer and halt the cpu. */
84 vtime_stop_cpu(); 81 vtime_stop_cpu();
85 /* Reenable preemption tracer. */
86 start_critical_timings();
87} 82}
88 83
89void cpu_idle(void) 84void cpu_idle(void)
@@ -97,9 +92,7 @@ void cpu_idle(void)
97 tick_nohz_idle_exit(); 92 tick_nohz_idle_exit();
98 if (test_thread_flag(TIF_MCCK_PENDING)) 93 if (test_thread_flag(TIF_MCCK_PENDING))
99 s390_handle_mcck(); 94 s390_handle_mcck();
100 preempt_enable_no_resched(); 95 schedule_preempt_disabled();
101 schedule();
102 preempt_disable();
103 } 96 }
104} 97}
105 98