Patches Updated For Linux To Enjoy Consoles Running At Full-Speed
As part of the long ongoing work to improve Linux's printk() code, there has been work to allow for threaded console printing and allowing consoles to run at full-speed. That work is still ongoing but Tuesday saw the third iteration of those printk patches posted.
Linutronix developer John Ogness sums up this printk work as:
Ogness did note that this work will not improve the reliability of console printing but ultimately is just about the performance aspect / not blocking other consoles. See the patch series for more details if this improvement is of interest to you.
Linutronix developer John Ogness sums up this printk work as:
This is v3 of a series to implement a kthread for each registered console. The kthreads locklessly retrieve the records from the printk ringbuffer and also do not cause any lock contention between each other. This allows consoles to run at full speed. For example, a netconsole is able to dump records much faster than a serial or vt console. Also, during normal operation, printk() callers are completely decoupled from console printing.
There are situations where kthread printing is not sufficient. For example, during panic situations, where the kthreads may not get a chance to schedule. In such cases, the current method of attempting to print directly within the printk() caller context is used.
Ogness did note that this work will not improve the reliability of console printing but ultimately is just about the performance aspect / not blocking other consoles. See the patch series for more details if this improvement is of interest to you.
13 Comments