Re: [PATCH] kernel/printk.c: Concerns about the console handover

Gerd Hoffmann
2007-09-21T12:44:29Z

Andrew Morton wrote:
> On Thu, 20 Sep 2007 18:28:49 +0100 (BST) "Maciej W. Rozycki" <macro@linux-mips.org> wrote:
>
>> Move the hadover message to after the boot console has been released to
>> avoid bad interactions between it and the real console.

[ longish problem discussion snipped ]

>> considered fully disabled. Below is a change which makes the problem
>> disappear for me, but I suppose there was a deliberate reason for placing
>> the printk() where it is now and nowhere else.

Well, I placed the printk there is for user interface reasons. I think
especially in case the early console and the real console go to
different physical devices it is useful to have the reason it stops
printing messages displayed on the early console. So people don't think
the computer hangs although it just prints messages elsewhere ...

If that isn't going to work due to two instances not knowing each other
(kernel & firmware) should not mess with the same physical device, then
I'd just drop the printk. And I see no pretty and easy way around that
issue :-(

We could do the printk and unregister before we setup the new console.
Which has the drawback that we are in trouble in case the setup() call
for the new console fails ...

We could split the printk into two, one early ("trying to setup new
console foo") which goes to the boot console, then (assuming the setup
worked ok) unregister silently and print a message about the successful
init and boot console unregister on the new console only. Which results
in two lines being printed for the handover when both consoles address
the same physical device. Not that nice IMHO, but maybe still the best
way to handle it.

cheers,
Gerd