diff options
Diffstat (limited to 'arch/s390/kernel/process.c')
-rw-r--r-- | arch/s390/kernel/process.c | 11 |
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 | ||
89 | void cpu_idle(void) | 84 | void 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 | ||