Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d136e273 authored by Anton Blanchard's avatar Anton Blanchard Committed by Benjamin Herrenschmidt
Browse files

powerpc: tracing: Avoid tracepoint duplication with DECLARE_EVENT_CLASS



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: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 641bd53a
Loading
Loading
Loading
Loading
+11 −34
Original line number Diff line number Diff line
@@ -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