XDP_REDIRECT:将包重定向到其他网络接口(包括虚拟机的虚拟网卡),或者通过AF_XDP socket重定向到用户空间。 XDP_ABORTED:表示程序产生了异常,其行为和XDP_DROP相同,但XDP_ABORTED会经过trace_xdp_exception tracepoint,因此可以通过tracing工具来监控这种非正常行为。 下图基于XDP/
exception-trace = 1 debug.kprobes-optimization = 1 debug.panic_on_rcu_stall = 0 dev.hpet.max-user-freq = 64 dev.mac_hid.mouse_button2_keycode = 97 dev.mac_hid.mouse_button3_keycode = 100 dev.mac_hid.mouse_button_emulation = 0 dev.parport.default.spintime = 500 dev.parport.default...
支持perf基本功能选项,必须打开: CONFIG_PERF_EVENTS=y CONFIG_HW_PERF_EVENTS=y 支持堆栈跟踪: CONFIG_FRAME_POINTER=y 支持解析内核和外部包符号,GCC编译时加上-g选项: CONFIG_KALLSYMS=y 支持TRACEPOINTS: CONFIG_FTRACE=y 支持内核态动态跟踪: CONFIG_KPROBES=y CONFIG_KPROBE_EVENT=y 支持用户态动态tracepo...
SYM_CODE_START_LOCAL(ret_to_user) disable_daif //D A I F 分别为PSTAT中的四个异常屏蔽标志位,此处屏蔽这4中异常 gic_prio_kentry_setup tmp=x3 #ifdef CONFIG_TRACE_IRQFLAGS bl trace_hardirqs_off #endif ldr x19, [tsk, #TSK_TI_FLAGS] //获取 thread_info 中的flags变量的值 and x2, x19...
SYS_MINI_RDUMP:类似coredump,可以用gdb/trace32调试 SYS_REBOOT_REASON:重启时的硬件记录的信息。 SYS_VERSION_INFO:kernel版本,用于和vmlinux对比,只有匹配的vmlinux才能用于分析这个异常。 SYS_WDT_LOG:看门狗复位信息 ... 以上这些文件一般足以调试KE了,除非一些特别的问题需要其他信息,比如串口log等等。 什么是...
percpu:percpu_alloc_percpu [Tracepoint event] percpu:percpu_free_percpu [Tracepoint event] 使用工具模拟内存泄漏: 写一个c程序: #include#include#include#includelong long *fibonacci(long long *n0, long long *n1) { // 分配1024个长整数空间方便观测内存的变化情况 ...
trace_irq_handler_exit(irq, action, res); retval |= res; action = action->next; }while(action); ... } dev_id的功能:一个中断号,可以是一个中断,也可以是一组中断(例如外部中断16~31),那么只使用中断号,不能区分同一组中断中的哪个,因此引入dev_id。例如在action时需传入dev_id,用来区...
LOCKDEP_SYS_EXIT DISABLE_INTERRUPTS(CLBR_ANY) # make sure we don't miss an interrupt # setting need_resched or sigpending # between sampling and the iret TRACE_IRQS_OFF movl TI_flags(%ebp), %ecx andl $_TIF_WORK_MASK, %ecx # is there any work to be done on # int/exception retur...
debug.exception-trace = 1 debug.kprobes-optimization = 1 debug.panic_on_rcu_stall = 0 dev.cdrom.autoclose = 1 dev.cdrom.autoeject = 0 dev.cdrom.check_media = 0 dev.cdrom.debug = 0 = CD-ROM information, Id: cdrom.c 3.20 2003/12/17 = = drive name: sr0 = drive speed: 1...
do { irqreturn_t res; trace_irq_handler_entry(irq, action); res = action->handler(irq, action->dev_id); trace_irq_handler_exit(irq, action, res); retval |= res; action = action->next; } while (action); ... } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ...