printk/pr_info все еще не печатает в буфер ядра
Я пытаюсь отладить, почему внесенное мной изменение не работает так, как должно. Это довольно странно, потому что одновременно работают две разные сборки этого драйвера (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
... до сих пор не кости. Я запускаю свою программу и не вижу отпечатков. В одной из приведенных выше ссылок говорилось что-то вроде: "... смена printk на pr_info сделала свое дело...". Ну, я тоже это попробовал.
printk(KERN_DEBUG "MPT3SAS: 0x%08x\n", someIntegerData);
// became
pr_dbg("MPT3SAS: 0x%08x\n", someIntegerData);
Нет, это тоже не сработало. Я повысил приоритет, изменив их с уровня DEBUG на уровень INFO. Нет, это не сработало.
Вопрос действительно прост: чего мне не хватает?
Я забыл упомянуть, даже не уверен, что это актуально, но это CentOS 6.5.
Спасибо,
Энди