public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Why linux console designed to work in polling mode?
@ 2015-07-22  6:27 Arun KS
  2015-07-22  6:53 ` yalin wang
  0 siblings, 1 reply; 5+ messages in thread
From: Arun KS @ 2015-07-22  6:27 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org; +Cc: alexhoppus111, Arun KS

forwarding email to LKML.
Please enlighten on this question. Googling doesn't helped so far.

Thanks,
Arun

From: Alexander <alexhoppus111@gmail.com>
Date: Sat, Jul 18, 2015 at 11:23 AM
Subject: Delegating printk work to UART interrupt
To: kernelnewbies@kernelnewbies.org


Hi!
When i checked how kernel printing works, i mentioned that it takes
messages from log_buffer in console_unlock and gives it to
call_console_drivers -> ...-> some uart bsp function. Basically, as i
see this BSP realization tries to flush all message chars in busyloop
... so it waits until FIFO_NOT_FULL bit will be dropped by UART and it
will be able to push the next byte. Basically, as i see userspace
printing do something different. It puts N_FIFO_BYTES and exits, next,
when FIFO will be freed - interrupt will be generated, and other
characters will be put into UART FIFO.
Can we do something similar for kernel printing? i.e. do not busyloop
sending char after char, but put N_FIFO chars and flush  other in
interrupt. When panic will occur we can do busyloop printing again. Is
it reliable? Suppose we have several cores.

Thank you.

--
Alexander <alexhoppus111@gmail.com>

_______________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-07-23  5:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-22  6:27 Why linux console designed to work in polling mode? Arun KS
2015-07-22  6:53 ` yalin wang
2015-07-22 20:08   ` Alexander
2015-07-22 21:36     ` Peter Hurley
2015-07-23  5:54       ` Alexander

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox