|
@@ -158,8 +158,6 @@ void __kprobes vtime_stop_cpu(void)
|
|
|
unsigned long psw_mask;
|
|
unsigned long psw_mask;
|
|
|
|
|
|
|
|
trace_hardirqs_on();
|
|
trace_hardirqs_on();
|
|
|
- /* Don't trace preempt off for idle. */
|
|
|
|
|
- stop_critical_timings();
|
|
|
|
|
|
|
|
|
|
/* Wait for external, I/O or machine check interrupt. */
|
|
/* Wait for external, I/O or machine check interrupt. */
|
|
|
psw_mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_DAT |
|
|
psw_mask = psw_kernel_bits | PSW_MASK_WAIT | PSW_MASK_DAT |
|
|
@@ -169,9 +167,6 @@ void __kprobes vtime_stop_cpu(void)
|
|
|
/* Call the assembler magic in entry.S */
|
|
/* Call the assembler magic in entry.S */
|
|
|
psw_idle(idle, psw_mask);
|
|
psw_idle(idle, psw_mask);
|
|
|
|
|
|
|
|
- /* Reenable preemption tracer. */
|
|
|
|
|
- start_critical_timings();
|
|
|
|
|
-
|
|
|
|
|
/* Account time spent with enabled wait psw loaded as idle time. */
|
|
/* Account time spent with enabled wait psw loaded as idle time. */
|
|
|
idle->sequence++;
|
|
idle->sequence++;
|
|
|
smp_wmb();
|
|
smp_wmb();
|