我正在尝试计算Linux内核在执行简单的hello world程序时所花费的时间。我无法做到。我附加了错误消息。我没有附上Makefile,但据我所知这是正确的。有任何帮助来完美地计算它吗?
代码:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/time.h>
int init_module(void)
{
clock_t t;
t = clock();
printk(“hello world\n”);
t = clock() - t;
double time_taken = ((double)t)/CLOCKS_PER_SEC;
printk(“%f\n”, time_taken);
return 0;
}
void cleanup_module(void)
{
printk(KERN_ALERT “Goodbye world\n”);
}
答案 0 :(得分:1)
你想要完成什么?
printk是错误的,因为它不包含日志级别,并且内核中没有'clock()',但是不管怎么说都不应该在这里使用。
如果你真的对性能感兴趣,那么你想看看像perf这样的东西。
除非看起来你还不应该使用内核工作。