我想在内核引导过程中使用ftrace跟踪函数function_graph以了解它的作用,但是在中找不到available_filter_functions。
function_graph
available_filter_functions
我尝试使用导出它EXPORT_SYMBOL(),猜测它会使其可用,但事实并非如此。
EXPORT_SYMBOL()
你有解决方案吗 ?
有关信息,功能,我想跟踪是persistent_ram_init_ringbuffer和persistent_ram_early_init在内核的Android 3.4。
persistent_ram_init_ringbuffer
persistent_ram_early_init
我通读了文档,但对此一无所获,grep并没有提供更多帮助。
谢谢
问题在于,这些函数用__init和__devinit注释,这些函数在ftrace函数跟踪器中列出为黑色。
为什么?因为作为模块初始化函数(或内核初始化函数),它们在初始化期间被加载,并在初始化完成时被删除。ftrace跟踪的每个函数都保存在一个特殊的紧凑表中。当前,没有办法告诉ftrace这些函数已被删除(释放),并且ftrace应该将其从表中删除。如果我们只是忽略这一点,那么在启用函数跟踪时,ftrace将尝试修改不再存在的位置,并且可能导致各种问题(还记得e1000e错误吗?)。
如果您确实要跟踪它们,请删除那些注释。然后它们应该出现在要跟踪的功能列表中。