Re: [PATCH V3] printk: Create pr_<level> functions

From: Geert Uytterhoeven
Date: Tue Aug 09 2016 - 13:01:09 EST


Hi Joe,

On Fri, Jun 24, 2016 at 5:46 AM, Joe Perches <joe@xxxxxxxxxxx> wrote:
> Using functions instead of macros can reduce overall code size
> by eliminating unnecessary "KERN_SOH<digit>" prefixes from
> format strings.

This change, commit 874f9c7da9a4acbc1 upstream, seems to have an
(unintendent?) side-effect.

Before, pr_*() calls without a trailing newline characters would be printed
with a newline character appended, both on the console and in the output
of the dmesg command.
After this commit, no new line character is appended, and the output of
the next pr_*() call of the same type may be appended, like in:

- Truncating RAM at 0x0000000040000000-0x00000000c0000000 to
-0x0000000070000000
- Ignoring RAM at 0x0000000200000000-0x0000000240000000 (!CONFIG_HIGHMEM)
+ Truncating RAM at 0x0000000040000000-0x00000000c0000000 to
-0x0000000070000000Ignoring RAM at
0x0000000200000000-0x0000000240000000 (!CONFIG_HIGHMEM)

I don't know why this is happening, hence I had to use git bisect to find
the offending commit.

Was this change intentional?
I guess it wouldn't hurt to send patches to add an explicit trailing newline
characters to messages that lack it?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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