console: make printk() line continuation tracking per-CPU
authorJan Beulich <jbeulich@suse.com>
Wed, 25 Nov 2015 16:18:21 +0000 (17:18 +0100)
committerJan Beulich <jbeulich@suse.com>
Wed, 25 Nov 2015 16:18:21 +0000 (17:18 +0100)
commit1e8193b5783676087bbd12da6be7641e40073168
treee6b783d4c341bca8d18b604ed4d58c6d7f901693
parent2a91f05083c33f69d19ec3ee037b4536f9dd4516
console: make printk() line continuation tracking per-CPU

This avoids cases where split messages (with other than the initial
part not carrying a log level; single line messages only of course)
issued on multiple CPUs interfere with each other, causing messages to
be issued which are supposed to be suppressed due to the log level
setting. E.g.

CPU A CPU B
XENLOG_G_DEBUG "abc"
XENLOG_G_DEBUG "def\n"
"xyz\n"

would cause the last message to be logged despite this obviously not
being intended (at default log levels).

Suggested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Tested-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/drivers/char/console.c