ftrace debug USB 中断

IMX8X ARM64 FTRACE功能使用:

1.kernel 配置参数

	a/arch/arm64/configs/imx8qxp_mek_vf12_recovery_defconfig							
	b/arch/arm64/configs/imx8qxp_mek_vf12_recovery_defconfig							
	@@ -3302,6 +3302,21 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=21							
	 # CONFIG_NOTIFIER_ERROR_INJECTION is not set							
	 # CONFIG_FAULT_INJECTION is not set							
	 # CONFIG_LATENCYTOP is not set							
+	CONFIG_NOP_TRACER=y							
+	CONFIG_PREEMPT_TRACER=y							
+	CONFIG_TRACER_MAX_TRACE=y							
+	CONFIG_TRACE_CLOCK=y							
+	CONFIG_RING_BUFFER=y							
+	CONFIG_EVENT_TRACING=y							
+	CONFIG_CONTEXT_SWITCH_TRACER=y							
+	CONFIG_TRACING=y							
+	CONFIG_GENERIC_TRACER=y							
+	CONFIG_SCHED_TRACER=y							
+	CONFIG_WAKEUP_LATENCY_HIST=y							
+	CONFIG_MISSED_TIMER_OFFSETS_HIST=y							
+	CONFIG_FTRACE_SYSCALLS=y							
+	CONFIG_TRACER_SNAPSHOT=y							
+	CONFIG_BRANCH_PROFILE_NONE=y							
	 CONFIG_HAVE_FUNCTION_TRACER=y							
	 CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y							
	 CONFIG_HAVE_DYNAMIC_FTRACE=y							
	@@ -3309,7 +3324,9 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y							
	 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y							
	 CONFIG_HAVE_C_RECORDMCOUNT=y							
	 CONFIG_TRACING_SUPPORT=y							
-	# CONFIG_FTRACE is not set							
+	CONFIG_FTRACE=y							
+	CONFIG_IRQSOFF_TRACER=y							
+	CONFIG_ENABLE_DEFAULT_TRACERS=y							
	 # CONFIG_DMA_API_DEBUG is not set							

使用方法:

mount -t debugfs nodev /sys/kernel/debug								
echo 1 >  /sys/kernel/debug/tracing/events/irq/irq_handler_entry/enable 								
echo 1 >  /sys/kernel/debug/tracing/events/irq/irq_handler_exit/enable								
cat /sys/kernel/debug/tracing/trace | grep -s "irq=38" > /tmp/trace_usb.log								
																	
cp /tmp/trace_usb.log /mnt/udisk1/								

LOG:

# tracer: nop								
#								
#                              _-----=> irqs-off								
#                             / _----=> need-resched								
#                            | / _---=> hardirq/softirq								
#                            || / _--=> preempt-depth								
#                            ||| /     delay								
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION								
#              | |       |   ||||       |         |								
          <idle>-0     [000] d.h1    12.868001: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.868020: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.874126: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.874168: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.874372: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.874379: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.874622: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.874630: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.875121: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.875128: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.875246: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.875253: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.875874: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.875885: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.881621: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.881641: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.881747: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.881754: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.881997: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.882005: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.882497: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.882504: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.882622: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.882630: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.882747: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.882755: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.888628: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.888674: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.888872: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.888879: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.888997: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.889005: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.889621: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.889628: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.889746: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.889753: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.889872: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.889880: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.895754: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.895795: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.895872: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.895879: irq_handler_exit: irq=38 ret=handled								
          <idle>-0     [000] d.h1    12.895997: irq_handler_entry: irq=38 name=5b0d0000.usb								
          <idle>-0     [000] d.h1    12.896005: irq_handler_exit: irq=38 ret=handled								
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kaira88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值