Add irq id parameter to irq_exit tracepoint and marker irq_id parameter is useful for paring irq enter and exit events. Signed-off-by: Masami Hiramatsu Signed-off-by: Hideo Aoki --- arch/x86/kernel/apic_32.c | 6 +++--- arch/x86/kernel/apic_64.c | 6 +++--- arch/x86/kernel/cpu/mcheck/mce_intel_64.c | 2 +- arch/x86/kernel/cpu/mcheck/p4.c | 2 +- arch/x86/kernel/tlb_32.c | 2 +- arch/x86/kernel/tlb_64.c | 2 +- include/trace/irq.h | 4 ++-- kernel/irq/handle.c | 2 +- kernel/kernel-trace.c | 2 +- 9 files changed, 14 insertions(+), 14 deletions(-) Index: linux-2.6-lttng/include/trace/irq.h =================================================================== --- linux-2.6-lttng.orig/include/trace/irq.h 2008-09-12 15:00:04.000000000 -0400 +++ linux-2.6-lttng/include/trace/irq.h 2008-09-12 15:07:59.000000000 -0400 @@ -9,8 +9,8 @@ TPPROTO(unsigned int id, struct pt_regs *regs), TPARGS(id, regs)); DEFINE_TRACE(irq_exit, - TPPROTO(irqreturn_t retval), - TPARGS(retval)); + TPPROTO(unsigned int id, irqreturn_t retval), + TPARGS(id, retval)); DEFINE_TRACE(irq_softirq_entry, TPPROTO(struct softirq_action *h, struct softirq_action *softirq_vec), TPARGS(h, softirq_vec)); Index: linux-2.6-lttng/kernel/irq/handle.c =================================================================== --- linux-2.6-lttng.orig/kernel/irq/handle.c 2008-09-12 15:00:04.000000000 -0400 +++ linux-2.6-lttng/kernel/irq/handle.c 2008-09-12 15:07:59.000000000 -0400 @@ -153,7 +153,7 @@ add_interrupt_randomness(irq); local_irq_disable(); - trace_irq_exit(retval); + trace_irq_exit(irq, retval); return retval; } Index: linux-2.6-lttng/kernel/kernel-trace.c =================================================================== --- linux-2.6-lttng.orig/kernel/kernel-trace.c 2008-09-12 15:00:04.000000000 -0400 +++ linux-2.6-lttng/kernel/kernel-trace.c 2008-09-12 15:08:47.000000000 -0400 @@ -18,7 +18,7 @@ (regs)?instruction_pointer(regs):0UL); } -static void probe_irq_exit(irqreturn_t retval) +static void probe_irq_exit(unsigned int id, irqreturn_t retval) { trace_mark(kernel_irq_exit, "handled #1u%u", IRQ_RETVAL(retval)); } Index: linux-2.6-lttng/arch/x86/kernel/apic_32.c =================================================================== --- linux-2.6-lttng.orig/arch/x86/kernel/apic_32.c 2008-09-12 15:00:00.000000000 -0400 +++ linux-2.6-lttng/arch/x86/kernel/apic_32.c 2008-09-12 15:07:59.000000000 -0400 @@ -638,7 +638,7 @@ local_apic_timer_interrupt(); - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(LOCAL_TIMER_VECTOR, IRQ_HANDLED); irq_exit(); @@ -1301,7 +1301,7 @@ "should never happen.\n", smp_processor_id()); __get_cpu_var(irq_stat).irq_spurious_count++; - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(SPURIOUS_APIC_VECTOR, IRQ_HANDLED); irq_exit(); } @@ -1337,7 +1337,7 @@ printk(KERN_DEBUG "APIC error on CPU%d: %02lx(%02lx)\n", smp_processor_id(), v , v1); - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(ERROR_APIC_VECTOR, IRQ_HANDLED); irq_exit(); } Index: linux-2.6-lttng/arch/x86/kernel/apic_64.c =================================================================== --- linux-2.6-lttng.orig/arch/x86/kernel/apic_64.c 2008-09-12 15:00:00.000000000 -0400 +++ linux-2.6-lttng/arch/x86/kernel/apic_64.c 2008-09-12 15:07:59.000000000 -0400 @@ -492,7 +492,7 @@ irq_enter(); trace_irq_entry(LOCAL_TIMER_VECTOR, regs); local_apic_timer_interrupt(); - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(LOCAL_TIMER_VECTOR, IRQ_HANDLED); irq_exit(); set_irq_regs(old_regs); } @@ -976,7 +976,7 @@ add_pda(irq_spurious_count, 1); - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(SPURIOUS_APIC_VECTOR, IRQ_HANDLED); irq_exit(); } @@ -1013,7 +1013,7 @@ printk(KERN_DEBUG "APIC error on CPU%d: %02x(%02x)\n", smp_processor_id(), v , v1); - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(ERROR_APIC_VECTOR, IRQ_HANDLED); irq_exit(); } Index: linux-2.6-lttng/arch/x86/kernel/cpu/mcheck/mce_intel_64.c =================================================================== --- linux-2.6-lttng.orig/arch/x86/kernel/cpu/mcheck/mce_intel_64.c 2008-09-12 15:00:00.000000000 -0400 +++ linux-2.6-lttng/arch/x86/kernel/cpu/mcheck/mce_intel_64.c 2008-09-12 15:07:59.000000000 -0400 @@ -31,7 +31,7 @@ add_pda(irq_thermal_count, 1); - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(THERMAL_APIC_VECTOR, IRQ_HANDLED); irq_exit(); } Index: linux-2.6-lttng/arch/x86/kernel/cpu/mcheck/p4.c =================================================================== --- linux-2.6-lttng.orig/arch/x86/kernel/cpu/mcheck/p4.c 2008-09-12 15:00:00.000000000 -0400 +++ linux-2.6-lttng/arch/x86/kernel/cpu/mcheck/p4.c 2008-09-12 15:07:59.000000000 -0400 @@ -67,7 +67,7 @@ vendor_thermal_interrupt(regs); __get_cpu_var(irq_stat).irq_thermal_count++; - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(THERMAL_APIC_VECTOR, IRQ_HANDLED); irq_exit(); } Index: linux-2.6-lttng/arch/x86/kernel/tlb_32.c =================================================================== --- linux-2.6-lttng.orig/arch/x86/kernel/tlb_32.c 2008-09-12 15:00:00.000000000 -0400 +++ linux-2.6-lttng/arch/x86/kernel/tlb_32.c 2008-09-12 15:07:59.000000000 -0400 @@ -124,7 +124,7 @@ out: put_cpu_no_resched(); __get_cpu_var(irq_stat).irq_tlb_count++; - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(INVALIDATE_TLB_VECTOR, IRQ_HANDLED); } void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm, Index: linux-2.6-lttng/arch/x86/kernel/tlb_64.c =================================================================== --- linux-2.6-lttng.orig/arch/x86/kernel/tlb_64.c 2008-09-12 15:00:00.000000000 -0400 +++ linux-2.6-lttng/arch/x86/kernel/tlb_64.c 2008-09-12 15:07:59.000000000 -0400 @@ -159,7 +159,7 @@ ack_APIC_irq(); cpu_clear(cpu, f->flush_cpumask); add_pda(irq_tlb_count, 1); - trace_irq_exit(IRQ_HANDLED); + trace_irq_exit(sender, IRQ_HANDLED); } void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm,