On Thu, 05 Sep 2019 12:03:13 -0400 Qian Cai <cai@xxxxxx> wrote: > > > and could deal with console hardware that involve irq_exit() anyway. > > > > printk->console_driver->write() does not involve irq. > > Hmm, from the article, > > https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter > > "Since transmission of a single or multiple characters may take a long time > relative to CPU speeds, a UART maintains a flag showing busy status so that the > host system knows if there is at least one character in the transmit buffer or > shift register; "ready for next character(s)" may also be signaled with an > interrupt." I'm pretty sure all serial consoles do a busy loop on the UART and not use interrupts to notify when it's available. That would require an asynchronous implementation of printk() which would be quite complex to implement. -- Steve