我正在尝试调试为什么我所做的更改无法正常工作。这很奇怪,因为这个驱动程序的两个不同版本同时运行(mpt2sas和mpt3sas),并且这两个版本的更改是相同的。此更改适用于mpt2sas但不适用于mpt3sas。我必须找出原因。我的第一个想法是:打印出司机实际检查的内容。
为此,我已经阅读了here中的内容,并引用了Stack Overflow中有关类似问题的一些链接(例如this answer和this 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。
谢谢,
安迪