Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 169596
b: refs/heads/master
c: 6795b85
h: refs/heads/master
v: v3
  • Loading branch information
Anton Blanchard authored and Paul Mackerras committed Oct 28, 2009
1 parent a70c2e2 commit c83d7c9
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1bf4af165050d90ea6659ffb2536ec8ca783aab5
refs/heads/master: 6795b85c6a4f690e61e7be31aa150d945c723fb5
34 changes: 34 additions & 0 deletions trunk/arch/powerpc/include/asm/trace.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,40 @@ TRACE_EVENT(irq_exit,
TP_printk("pt_regs=%p", __entry->regs)
);

TRACE_EVENT(timer_interrupt_entry,

TP_PROTO(struct pt_regs *regs),

TP_ARGS(regs),

TP_STRUCT__entry(
__field(struct pt_regs *, regs)
),

TP_fast_assign(
__entry->regs = regs;
),

TP_printk("pt_regs=%p", __entry->regs)
);

TRACE_EVENT(timer_interrupt_exit,

TP_PROTO(struct pt_regs *regs),

TP_ARGS(regs),

TP_STRUCT__entry(
__field(struct pt_regs *, regs)
),

TP_fast_assign(
__entry->regs = regs;
),

TP_printk("pt_regs=%p", __entry->regs)
);

#endif /* _TRACE_POWERPC_H */

#undef TRACE_INCLUDE_PATH
Expand Down
6 changes: 6 additions & 0 deletions trunk/arch/powerpc/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
#include <linux/irq.h>
#include <linux/delay.h>
#include <linux/perf_event.h>
#include <asm/trace.h>

#include <asm/io.h>
#include <asm/processor.h>
Expand Down Expand Up @@ -571,6 +572,8 @@ void timer_interrupt(struct pt_regs * regs)
struct clock_event_device *evt = &decrementer->event;
u64 now;

trace_timer_interrupt_entry(regs);

/* Ensure a positive value is written to the decrementer, or else
* some CPUs will continuue to take decrementer exceptions */
set_dec(DECREMENTER_MAX);
Expand All @@ -590,6 +593,7 @@ void timer_interrupt(struct pt_regs * regs)
now = decrementer->next_tb - now;
if (now <= DECREMENTER_MAX)
set_dec((int)now);
trace_timer_interrupt_exit(regs);
return;
}
old_regs = set_irq_regs(regs);
Expand Down Expand Up @@ -620,6 +624,8 @@ void timer_interrupt(struct pt_regs * regs)

irq_exit();
set_irq_regs(old_regs);

trace_timer_interrupt_exit(regs);
}

void wakeup_decrementer(void)
Expand Down

0 comments on commit c83d7c9

Please sign in to comment.