如何在 Linux 内核的 start_kernel 函数中计时函数?
How to time functions in Linux Kernel's start_kernel function?
我需要弄清楚函数调用在 Linux 内核的 start_kernel 函数中花费的时间。
为什么这是一个问题,因为如果我在同一个函数中的 timekeeping_init() 函数调用之前放置一个 ktime_get()
函数调用,内核将无法启动。
在我的设置中,我认为内核很可能在 mm_init()
中花费了很多时间。但由于上述问题,我无法验证。
关于如何解决这个问题的任何想法?
谢谢。
在启动初期,可用的东西并不多。 printk
不过应该可以。
如果您使用的是 x86,则可以使用 rdtsc()
。目前只有 1 CPU 运行,因此关于混淆结果的常见警告还不适用。
我需要弄清楚函数调用在 Linux 内核的 start_kernel 函数中花费的时间。
为什么这是一个问题,因为如果我在同一个函数中的 timekeeping_init() 函数调用之前放置一个 ktime_get()
函数调用,内核将无法启动。
在我的设置中,我认为内核很可能在 mm_init()
中花费了很多时间。但由于上述问题,我无法验证。
关于如何解决这个问题的任何想法?
谢谢。
在启动初期,可用的东西并不多。 printk
不过应该可以。
如果您使用的是 x86,则可以使用 rdtsc()
。目前只有 1 CPU 运行,因此关于混淆结果的常见警告还不适用。