Messages in this thread |  | | From | Geert Uytterhoeven <> | Date | Mon, 24 Oct 2016 13:15:51 +0200 | Subject | Re: linux.git: printk() problem |
| |
Hi Linus,
On Sun, Oct 23, 2016 at 9:46 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Sun, Oct 23, 2016 at 12:32 PM, Linus Torvalds > <torvalds@linux-foundation.org> wrote: >> >> No, the real complexity comes from that interaction with the console >> output, which is done outside the core log locks, and which currently >> has the added thing where we have a "has this line fragment been >> flushed or not". > > Ok, so here's the stupid patch that removes all the partial line flushing. > > NOTE! It still leaves all the games with LOG_NEWLINE and LOG_NOCONS > that are pretty much pointless with it. So there's room for more > simplification here. > > In particular, the games with LOG_NEWLINE is what Geert's "console and > dmesg output looks different" at least partially comes from. What > happens is that "dmesg" always shows the records as one line (so it > effectively ignores LOG_NEWLINE), but the console output (in > msg_print_text() still has that LOG_NEWLINE logic. > > In particular, msg_print_text() looks at the *previous* logged line to > decide whether it should do newlines etc, which is why Geert gets that > odd "two continuations per line" pattern on the console, but "one > continuation per line" in dmesg. That comes from the interaction with > flushing to the console and LOG_NEWLINE and just general complexity.
Thanks, Linux kernel output is again in sync with dmesg output.
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
|  |