aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/vtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/vtime.c')
-rw-r--r--arch/s390/kernel/vtime.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c
index 2d6228f60cd6..bb48977f5469 100644
--- a/arch/s390/kernel/vtime.c
+++ b/arch/s390/kernel/vtime.c
@@ -170,7 +170,8 @@ void __kprobes vtime_stop_cpu(void)
170 psw_t psw; 170 psw_t psw;
171 171
172 /* Wait for external, I/O or machine check interrupt. */ 172 /* Wait for external, I/O or machine check interrupt. */
173 psw.mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_IO | PSW_MASK_EXT; 173 psw.mask = psw_kernel_bits | PSW_MASK_WAIT |
174 PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK;
174 175
175 idle->nohz_delay = 0; 176 idle->nohz_delay = 0;
176 177
@@ -183,7 +184,8 @@ void __kprobes vtime_stop_cpu(void)
183 * set_cpu_timer(VTIMER_MAX_SLICE); 184 * set_cpu_timer(VTIMER_MAX_SLICE);
184 * idle->idle_enter = get_clock(); 185 * idle->idle_enter = get_clock();
185 * __load_psw_mask(psw_kernel_bits | PSW_MASK_WAIT | 186 * __load_psw_mask(psw_kernel_bits | PSW_MASK_WAIT |
186 * PSW_MASK_IO | PSW_MASK_EXT); 187 * PSW_MASK_DAT | PSW_MASK_IO |
188 * PSW_MASK_EXT | PSW_MASK_MCHECK);
187 * The difference is that the inline assembly makes sure that 189 * The difference is that the inline assembly makes sure that
188 * the last three instruction are stpt, stck and lpsw in that 190 * the last three instruction are stpt, stck and lpsw in that
189 * order. This is done to increase the precision. 191 * order. This is done to increase the precision.
@@ -216,7 +218,8 @@ void __kprobes vtime_stop_cpu(void)
216 * vq->idle = get_cpu_timer(); 218 * vq->idle = get_cpu_timer();
217 * idle->idle_enter = get_clock(); 219 * idle->idle_enter = get_clock();
218 * __load_psw_mask(psw_kernel_bits | PSW_MASK_WAIT | 220 * __load_psw_mask(psw_kernel_bits | PSW_MASK_WAIT |
219 * PSW_MASK_IO | PSW_MASK_EXT); 221 * PSW_MASK_DAT | PSW_MASK_IO |
222 * PSW_MASK_EXT | PSW_MASK_MCHECK);
220 * The difference is that the inline assembly makes sure that 223 * The difference is that the inline assembly makes sure that
221 * the last three instruction are stpt, stck and lpsw in that 224 * the last three instruction are stpt, stck and lpsw in that
222 * order. This is done to increase the precision. 225 * order. This is done to increase the precision.
@@ -458,7 +461,7 @@ void add_virt_timer_periodic(void *new)
458} 461}
459EXPORT_SYMBOL(add_virt_timer_periodic); 462EXPORT_SYMBOL(add_virt_timer_periodic);
460 463
461int __mod_vtimer(struct vtimer_list *timer, __u64 expires, int periodic) 464static int __mod_vtimer(struct vtimer_list *timer, __u64 expires, int periodic)
462{ 465{
463 struct vtimer_queue *vq; 466 struct vtimer_queue *vq;
464 unsigned long flags; 467 unsigned long flags;