aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/time.c')
-rw-r--r--arch/powerpc/kernel/time.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 567dd7c3ac2a..f81c81b92f0e 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -259,7 +259,6 @@ void accumulate_stolen_time(void)
259 u64 sst, ust; 259 u64 sst, ust;
260 260
261 u8 save_soft_enabled = local_paca->soft_enabled; 261 u8 save_soft_enabled = local_paca->soft_enabled;
262 u8 save_hard_enabled = local_paca->hard_enabled;
263 262
264 /* We are called early in the exception entry, before 263 /* We are called early in the exception entry, before
265 * soft/hard_enabled are sync'ed to the expected state 264 * soft/hard_enabled are sync'ed to the expected state
@@ -268,7 +267,6 @@ void accumulate_stolen_time(void)
268 * complain 267 * complain
269 */ 268 */
270 local_paca->soft_enabled = 0; 269 local_paca->soft_enabled = 0;
271 local_paca->hard_enabled = 0;
272 270
273 sst = scan_dispatch_log(local_paca->starttime_user); 271 sst = scan_dispatch_log(local_paca->starttime_user);
274 ust = scan_dispatch_log(local_paca->starttime); 272 ust = scan_dispatch_log(local_paca->starttime);
@@ -277,7 +275,6 @@ void accumulate_stolen_time(void)
277 local_paca->stolen_time += ust + sst; 275 local_paca->stolen_time += ust + sst;
278 276
279 local_paca->soft_enabled = save_soft_enabled; 277 local_paca->soft_enabled = save_soft_enabled;
280 local_paca->hard_enabled = save_hard_enabled;
281} 278}
282 279
283static inline u64 calculate_stolen_time(u64 stop_tb) 280static inline u64 calculate_stolen_time(u64 stop_tb)
@@ -580,6 +577,11 @@ void timer_interrupt(struct pt_regs * regs)
580 if (!cpu_online(smp_processor_id())) 577 if (!cpu_online(smp_processor_id()))
581 return; 578 return;
582 579
580 /* Conditionally hard-enable interrupts now that the DEC has been
581 * bumped to its maximum value
582 */
583 may_hard_irq_enable();
584
583 trace_timer_interrupt_entry(regs); 585 trace_timer_interrupt_entry(regs);
584 586
585 __get_cpu_var(irq_stat).timer_irqs++; 587 __get_cpu_var(irq_stat).timer_irqs++;