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 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.