On Tue, Oct 11, 2022, at 8:02 AM, Jiri Slaby wrote:
On 11. 10. 22, 2:08, Elliot Berman wrote:
+
+ /* below are for printk console.
+ * gh_rm_console_* calls will sleep and console_write can be called from
+ * atomic ctx. Two xmit buffers are used. The active buffer is tracked with
+ * co_xmit_idx. Writes go into the co_xmit_buf[co_xmit_idx] buffer.
+ * A work is scheduled to flush the bytes. The work will swap the active buffer
+ * and write out the other buffer.
+ */
Ugh, why? This is too ugly and unnecessary. What about passing the kfifo
to gh_rm_console_write() instead? You do memcpy() there anyway.
Another problem here is that you really want the console output to be
printed from atomic context, otherwise one would never see e.g. the
output of a panic() call. Having a deferred write is probably fine for
normal tty operations, but you probably want a different device for the
console here, e.g. the hvc_dcc driver.