aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/time.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-12-09 01:14:38 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-12-09 01:14:38 -0500
commitbcd6acd51f3d4d1ada201e9bc5c40a31d6d80c71 (patch)
tree2f6dffd2d3e4dd67355a224de7e7a960335a92fd /arch/powerpc/kernel/time.c
parent11c34c7deaeeebcee342cbc35e1bb2a6711b2431 (diff)
parent3ff6a468b45b5dfeb0e903e56f4eb27d34b2437c (diff)
Merge commit 'origin/master' into next
Conflicts: include/linux/kvm.h
Diffstat (limited to 'arch/powerpc/kernel/time.c')
-rw-r--r--arch/powerpc/kernel/time.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 6c9e20898fa7..e9af16cc7c0c 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -54,6 +54,7 @@
54#include <linux/irq.h> 54#include <linux/irq.h>
55#include <linux/delay.h> 55#include <linux/delay.h>
56#include <linux/perf_event.h> 56#include <linux/perf_event.h>
57#include <asm/trace.h>
57 58
58#include <asm/io.h> 59#include <asm/io.h>
59#include <asm/processor.h> 60#include <asm/processor.h>
@@ -572,6 +573,8 @@ void timer_interrupt(struct pt_regs * regs)
572 struct clock_event_device *evt = &decrementer->event; 573 struct clock_event_device *evt = &decrementer->event;
573 u64 now; 574 u64 now;
574 575
576 trace_timer_interrupt_entry(regs);
577
575 /* Ensure a positive value is written to the decrementer, or else 578 /* Ensure a positive value is written to the decrementer, or else
576 * some CPUs will continuue to take decrementer exceptions */ 579 * some CPUs will continuue to take decrementer exceptions */
577 set_dec(DECREMENTER_MAX); 580 set_dec(DECREMENTER_MAX);
@@ -591,6 +594,7 @@ void timer_interrupt(struct pt_regs * regs)
591 now = decrementer->next_tb - now; 594 now = decrementer->next_tb - now;
592 if (now <= DECREMENTER_MAX) 595 if (now <= DECREMENTER_MAX)
593 set_dec((int)now); 596 set_dec((int)now);
597 trace_timer_interrupt_exit(regs);
594 return; 598 return;
595 } 599 }
596 old_regs = set_irq_regs(regs); 600 old_regs = set_irq_regs(regs);
@@ -621,6 +625,8 @@ void timer_interrupt(struct pt_regs * regs)
621 625
622 irq_exit(); 626 irq_exit();
623 set_irq_regs(old_regs); 627 set_irq_regs(old_regs);
628
629 trace_timer_interrupt_exit(regs);
624} 630}
625 631
626void wakeup_decrementer(void) 632void wakeup_decrementer(void)