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.

Спасибо,
Энди

0 ответов

Другие вопросы по тегам