Thread (44 messages) 44 messages, 5 authors, 2018-12-10

Re: [PATCH v2 01/10] mailbox: Support blocking transfers in atomic context

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2018-12-07 15:39:01
Also in: linux-arm-kernel, linux-serial, linux-tegra

On Fri, Dec 07, 2018 at 12:32:45PM +0100, Thierry Reding wrote:
Greg,

any ideas on how we can move forward here? For reasons given elsewhere
in this thread I understand that there is no way to make the console
code run in non-atomic context. Have you ever run into a case where the
console driver couldn't busy-loop? Were there any solutions to this?
I don't know of any such cases, hardware sucks at times, and we just
have to deal with getting it to work by doing stuff like this :(
I've looked through quite a few drivers and they all end up with a busy
loop, waiting for the transmission FIFO to become empty. There are also
a few implementations for hypervisors that call back into some firmware
in order to send the characters, but I expect those to do the busy
looping in the firmware.
busy loops are ok here, as you point out.
Perhaps the most prominent case that I came across and that is quite
similar to this discussion is netconsole. There's a lot of code in the
network layer that exists only to allow using a network device for
outputting a console. I don't think the changes to the mailbox
framework are anywhere near as complicated.
Neither do I, I have no objection to your changes at all.

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help