[patch 2/2] panic: add cpu/pid to warn_slowpath_common in WARNING printk()s

From: athorlton
Date: Wed May 08 2013 - 17:01:55 EST


These patches fix up issues with interspersed output from multiple
simultaneous calls to warn or dump_stack on multi-cpu systems.
References: <20130508210102.898396979@xxxxxxxxxxxxxxxxxxxxxxx>
Content-Disposition: inline; filename=add-cpu-pid-warn.patch

This patch adds in the cpu/pid that called WARN() so that the stack
traces can be matched up with the WARNING messages.

Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
Cc: Vikram Mulukutla <markivx@xxxxxxxxxxxxxx>
Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Reviewed-by: Robin Holt <holt@xxxxxxx>
Signed-off-by: Alex Thorlton <athorlton@xxxxxxx>
---
kernel/panic.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

--- linux.orig/kernel/panic.c
+++ linux/kernel/panic.c
@@ -399,8 +399,9 @@ struct slowpath_args {
static void warn_slowpath_common(const char *file, int line, void *caller,
unsigned taint, struct slowpath_args *args)
{
- printk(KERN_WARNING "------------[ cut here ]------------\n");
- printk(KERN_WARNING "WARNING: at %s:%d %pS()\n", file, line, caller);
+ pr_warn("------------[ cut here ]------------\n");
+ pr_warn("WARNING: CPU: %d PID: %d at %s:%d %pS()\n", '
+ raw_smp_processor_id(), current->pid, file, line, caller);

if (args)
vprintk(args->fmt, args->args);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/