Skip to content

Commit

Permalink
powerpc: tracing: Avoid tracepoint duplication with DECLARE_EVENT_CLASS
Browse files Browse the repository at this point in the history
irq_entry, irq_exit, timer_interrupt_entry and timer_interrupt_exit
all do the same thing so use DECLARE_EVENT_CLASS to avoid duplicating
everything 4 times.

This saves quite a lot of space in both instruction text and data:

   text    data     bss     dec     hex filename
   9265   19622      16   28903    70e7 arch/powerpc/kernel/irq.o
   6817   19019      16   25852    64fc arch/powerpc/kernel/irq.o

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Anton Blanchard authored and Benjamin Herrenschmidt committed Jul 3, 2012
1 parent 641bd53 commit d136e27
Showing 1 changed file with 11 additions and 34 deletions.
45 changes: 11 additions & 34 deletions arch/powerpc/include/asm/trace.h
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@

struct pt_regs;

TRACE_EVENT(irq_entry,
DECLARE_EVENT_CLASS(ppc64_interrupt_class,

TP_PROTO(struct pt_regs *regs),

@@ -25,55 +25,32 @@ TRACE_EVENT(irq_entry,
TP_printk("pt_regs=%p", __entry->regs)
);

TRACE_EVENT(irq_exit,
DEFINE_EVENT(ppc64_interrupt_class, irq_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)
TP_ARGS(regs)
);

TRACE_EVENT(timer_interrupt_entry,
DEFINE_EVENT(ppc64_interrupt_class, irq_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)
TP_ARGS(regs)
);

TRACE_EVENT(timer_interrupt_exit,
DEFINE_EVENT(ppc64_interrupt_class, timer_interrupt_entry,

TP_PROTO(struct pt_regs *regs),

TP_ARGS(regs),
TP_ARGS(regs)
);

TP_STRUCT__entry(
__field(struct pt_regs *, regs)
),
DEFINE_EVENT(ppc64_interrupt_class, timer_interrupt_exit,

TP_fast_assign(
__entry->regs = regs;
),
TP_PROTO(struct pt_regs *regs),

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

#ifdef CONFIG_PPC_PSERIES

0 comments on commit d136e27

Please sign in to comment.