做一些关于ftrace的研究。
TCP echo程序在两个主机之间运行。
当我关闭大开关(CRUDQueue
)时,我自己的kprobe模块也无法工作。无法在内核日志文件中看到printk消息。此外,pkt修改操作失败,可以成功接收pkt。
这让我很困惑。
我的测试kprobe模块在这里:
echo 0 > /proc/sys/kernel/ftrace_enabled
答案 0 :(得分:0)
问题已结束。
实际上在sys/kernel/debug/kprobes/list
我们可以获得已注册的kprobe列表。我得到这个xxxxxxxxxxx k ip_rcv+0x0 [FTRACE]
,这意味着这个kprobe是基于ftrace的。如果禁用ftrace,则基于ftrace的kprobe无法工作。