New Threaded/Atomic Console Patches Posted For Linux - Precursor For Mainlining RT
Posted today was the "v1" patch series implementing threaded/atomic console infrastructure for printk. This is one of the last steps needed before the real-time (PREEMPT_RT) support can be finally mainlined into the Linux kernel.
Last week Linux 6.3 picked up some threaded/atomic console preparation patches while John Ogness of Linutronix (Intel) followed up today with the "v1" set of patches to provide the rest of the actual infrastructure. This v1 patch series succeeds the earlier "request for comments" patches previously published.
With this proposed Linux threaded/atomic consoles, each console has its own KThread and different consoles do not contend with each other and do not use the global console lock, each console is able to write any context, atomic printing is performed until console threads are brought up and allows many-core CPUs to boot at full-speed without waiting on console printing, and various other features are supported.
Legacy consoles continue to work unmodified and can work next to the new threaded/atomic "NOBKL" consoles.
"We believe that this series covers all printk features and usage to allow new threaded/atomic consoles to be able to replace the legacy consoles. However, this will be a gradual transition as individual console drivers are updated to support the NOBKL requirements.
This series does not include any changes to console drivers to allow them to act as NOBKL consoles. That will be a follow-up series, once a finalized infrastructure is in place. However, I will reply to this message with an all-in-one uart8250 patch that fully implements NOBKL support. The patch will allow you to perform runtime tests with the NOBKL consoles on the uart8250."
Hopefully these patches will be reviewed well and manage to find their way to the Linux kernel shortly if all goes well and in turn un-blocking the long-awaited real-time "PREEMPT_RT" kernel patches for finally landing this year.
Those interested in the functionality can see this patch series.