1

我正在尝试调试为什么我所做的更改无法正常工作。这很奇怪,因为这个驱动程序有两个不同的版本同时运行(mpt2sas 和 mpt3sas),而且变化是相同的。更改在 mpt2sas 中有效,但在 mpt3sas 中无效。我必须弄清楚为什么。我的第一个想法是:打印出驾驶员实际检查的内容。

为此,我从这里阅读了一些东西,并参考了 Stack Overflow 中关于类似问题的一些链接(例如这个答案这个问题)。我目前的 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

...仍然没有骰子。我运行我的程序,没有看到 printks。我在上面提供的链接之一是这样说的,“......将 printk 更改为 pr_info 成功了......”。嗯,我也试过了。

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

不,那也没用。我通过将它们从 DEBUG 级别更改为 INFO 级别来提高优先级。不,那没有用。

问题很简单:我错过了什么?

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

谢谢,
安迪

4

0 回答 0