printk / pr_info仍未打印到内核缓冲区

时间:2014-04-14 18:26:50

标签: linux-kernel linux-device-driver printk

我正在尝试调试为什么我所做的更改无法正常工作。这很奇怪,因为这个驱动程序的两个不同版本同时运行(mpt2sas和mpt3sas),并且这两个版本的更改是相同的。此更改适用于mpt2sas但不适用于mpt3sas。我必须找出原因。我的第一个想法是:打印出司机实际检查的内容。

为此,我已经阅读了here中的内容,并引用了Stack Overflow中有关类似问题的一些链接(例如this answerthis question)。我目前的printk级别:

[root@dmandylnx64 ~]# cat /proc/sys/kernel/printk
8       4       1       7

然而,当我做这样的事情时,我看不到输出:

dmesg | less   # and search around for my strings

我找到另一个链接,说明内核缓冲区通过/ proc / kmsg可用。所以,我做了

cat /proc/kmsg

......仍然没有骰子。我运行我的程序,看不到任何打印。我在上面提供的链接之一说明了“......将printk改为pr_info就可以了......”。好吧,我也试过了。

printk(KERN_DEBUG "MPT3SAS: 0x%08x\n", someIntegerData);
// became
pr_dbg("MPT3SAS: 0x%08x\n", someIntegerData);

不,那也行不通。我通过将它们从DEBUG级别更改为INFO级别来提升优先级。不,那不起作用。

问题很简单:我缺少什么?

编辑我忘了提及,甚至不确定它是否相关,但这是CentOS 6.5。

谢谢,
安迪

0 个答案:

没有答案