我看到vprintk_emit
内核将消息放入log_buffer
然后打印console_unlock->call_console_driver
。但是如果我们将放置比控制台(UART)更多的消息实际上可以传输 - 这将是什么行为?我看到将消息放到log_buffer附近没有阻塞原语,所以它是否意味着我们只是在log_buf的开头删除一些消息来放置一些新的(环形缓冲区)?那么这是否意味着printk消息可能会丢失?我正在谈论内核4.1
http://lxr.free-electrons.com/source/kernel/printk/printk.c#L1613