initcall_debug简要说明

initcall_debug是Linux内核的一个参数,用于跟踪initcall,帮助诊断内核启动或休眠唤醒时的问题。它在启动和休眠过程中记录函数调用及其执行时间,便于定位失败点和性能瓶颈。相关代码主要位于init/main.c和kernel/power/main.c等文件。
摘要由CSDN通过智能技术生成

Linux version 3.10.40

 

1. 使用说明

Documentation/kernel-parameters.txt中的说明如下:

         initcall_debug  [KNL] Trace initcalls as they are executed.  Useful

                            for working out where the kernel is dying during

                            startup.

说明initcall_debug是一个内核参数,可以跟踪initcall,用来定位内核初始化的问题。在cmdline中增加initcall_debug后,内核启动过程中会增加如下形式的日志,在调用每一个init函数前有一句打印,结束后再有一句打印并且输出了该Init函数运行的时间,通过这个信息可以用来定位启动过程中哪个init函数运行失败以及哪些init函数运行时间较长。

calling  init_workqueues+0x0/0x414 @ 1

initcall init_workqueues+0x0/0x414 returned 0 after 0 usecs

除了在启动过程中会增加日志外,在系统休眠唤醒过程中也会增加如下形式的日志,可以用来定位休眠唤醒失败及休眠唤醒时间太长的问题。

calling  xxxxxx.dma+ @ 6, parent: xxx.0

call xxxxxx.dma+ returned 0 after 2 usecs

 

2. 相关代码

./init/main.c中声明变量的地方如下,通过core_param,可以通过/sys/module/kernel/parameters/init

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值