Re: [PATCH] x86, trace: Add __irq_entry annotation to x86's platform IRQ handlers

From: Steven Rostedt
Date: Wed Jan 04 2017 - 10:09:43 EST


On Wed, 4 Jan 2017 12:20:33 +0100
Daniel Bristot de Oliveira <bristot@xxxxxxxxxx> wrote:

> This patch adds the __irq_entry annotation to the defaults x86's
> platform IRQ handlers. ftrace's function_graph tracer uses the
> __irq_entry annotation to notify the entry and return of IRQ
> handlers.
>
> For example, before the patch:
> 354549.667252 | 3) d..1 | default_idle_call() {
> 354549.667252 | 3) d..1 | arch_cpu_idle() {
> 354549.667253 | 3) d..1 | default_idle() {
> 354549.696886 | 3) d..1 | smp_trace_reschedule_interrupt() {
> 354549.696886 | 3) d..1 | irq_enter() {
> 354549.696886 | 3) d..1 | rcu_irq_enter() {
>
> After the patch:
> 366416.254476 | 3) d..1 | arch_cpu_idle() {
> 366416.254476 | 3) d..1 | default_idle() {
> 366416.261566 | 3) d..1 ==========> |
> 366416.261566 | 3) d..1 | smp_trace_reschedule_interrupt() {
> 366416.261566 | 3) d..1 | irq_enter() {
> 366416.261566 | 3) d..1 | rcu_irq_enter() {
>
> KASAN also uses this annotation. The smp_apic_timer_interrupt
> was already annotated.

Acked-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

Thomas or Ingo, want to take this in tip?

-- Steve

>
> Signed-off-by: Daniel Bristot de Oliveira <bristot@xxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: "Peter Zijlstra (Intel)" <peterz@xxxxxxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Cc: Tony Luck <tony.luck@xxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: Dou Liyang <douly.fnst@xxxxxxxxxxxxxx>
> Cc: Nicolai Stange <nicstange@xxxxxxxxx>
> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
> Cc: Baoquan He <bhe@xxxxxxxxxx>
> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
> Cc: Claudio Fontana <claudio.fontana@xxxxxxxxxx>
> Cc: Aaron Lu <aaron.lu@xxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Wanpeng Li <wanpeng.li@xxxxxxxxxxx>
> Cc: Hidehiro Kawai <hidehiro.kawai.ez@xxxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Cc: linux-edac@xxxxxxxxxxxxxxx
> Cc: x86@xxxxxxxxxx