LINUX.ORG.RU

>сабж

буфер у printk не бесконечный, надо '\n' ставить, тогда он буфер сбрасывает

anonymous
()
Ответ на: комментарий от anonymous

'\n' стоит в конце каждой строки

cvv ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> буфер у printk не бесконечный

верно, потому и теряется

> надо '\n' ставить,

это тоже не поможет

> тогда он буфер сбрасывает

это просто означает wake_up_interruptible(&log_wait).
а не факт что klogd успеет все сьесть.

idle ★★★★★
()
Ответ на: комментарий от idle

>> буфер у printk не бесконечный

>верно, потому и теряется

а что делать чтобы не терялось?? писать враппер с паузой между вызовами

>> тогда он буфер сбрасывает

>это просто означает wake_up_interruptible(&log_wait).

>а не факт что klogd успеет все сьесть.

klogd в системе нету. только консоль

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

>>а не факт что klogd успеет все сьесть.
>klogd в системе нету. только консоль

да какая разница, буфер все равно не бесконечный.
printk() вызывает call_console_drivers() только
при свободном console_sem.

idle ★★★★★
()
Ответ на: комментарий от idle

тоесть ничего не остаётся как писать враппер с принудительными паузами между printk()?

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

> тоесть ничего не остаётся

лучше всего вообще не использовать printk() в таком
количестве, он не для этого.

> писать враппер с принудительными паузами между printk()

не поможет. printk() работает в любом контексте. напр
из прерывания. можете делать задержку насколько угодно
большой, это не поможет прерванному процессу освободить
семафор.

лучше исправьте ошибку, из-за которой у вас так много
printk()'ов.

idle ★★★★★
()
Ответ на: комментарий от idle

Ок спасибо подумаю в этом направлении

cvv ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.