• Jungseok Lee's avatar
    arm64: Add __exception_irq_entry definition for function graph · 9a5ad7d0
    Jungseok Lee authored
    The gic_handle_irq() is defined with __exception_irq_entry attribute.
    A single remaining work is to add its definition as ARM did. Below
    shows how function graph data is changed with these hunks.
    
    A prologue of an interrupt handler is drawn as follows.
    
    - current status
    
     0)   0.208 us    |  cpuidle_not_available();
     0)               |  default_idle_call() {
     0)               |    arch_cpu_idle() {
     0)               |      __handle_domain_irq() {
     0)               |        irq_enter() {
     0)   0.313 us    |          rcu_irq_enter();
     0)   0.261 us    |          __local_bh_disable_ip();
    
    - with this change
    
     0)   0.625 us    |  cpuidle_not_available();
     0)               |  default_idle_call() {
     0)               |    arch_cpu_idle() {
     0)   ==========> |
     0)               |      gic_handle_irq() {
     0)               |        __handle_domain_irq() {
     0)               |          irq_enter() {
     0)   0.885 us    |            rcu_irq_enter();
     0)   0.781 us    |            __local_bh_disable_ip();
    
    An epilogue of an interrupt handler is recorded as follows.
    
    - current status
    
     0)   0.261 us    |          idle_cpu();
     0)               |          rcu_irq_exit() {
     0)   0.521 us    |            rcu_eqs_enter_common.isra.46();
     0)   2.552 us    |          }
     0) ! 322.448 us  |        }
     0) ! 583.437 us  |      }
     0) # 1656.041 us |    }
     0) # 1658.073 us |  }
    
    - with this change
    
     0)   0.677 us    |            idle_cpu();
     0)               |            rcu_irq_exit() {
     0)   1.770 us    |              rcu_eqs_enter_common.isra.46();
     0)   7.968 us    |            }
     0) # 1803.541 us |          }
     0) # 2626.667 us |        }
     0) # 2632.969 us |      }
     0)   <========== |
     0) # 14425.00 us |    }
     0) # 14430.98 us |  }
    
    Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: Rabin Vincent <rabin@rab.in>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: default avatarJungseok Lee <jungseoklee85@gmail.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    9a5ad7d0
exception.h 979 Bytes