Re: [patch] generic bug: use show_regs() instead of dump_stack()

From: Haavard Skinnemoen
Date: Fri Jun 29 2007 - 08:39:27 EST


On Fri, 29 Jun 2007 14:19:59 +0200
Heiko Carstens <heiko.carstens@xxxxxxxxxx> wrote:

> [patch] generic bug: use show_regs() instead of dump_stack()
>
> From: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
>
> The current generic bug implementation has a call to dump_stack() in
> case a WARN_ON(whatever) gets hit. Since report_bug(), which calls
> dump_stack(), gets called from an exception handler we can do better:
> just pass the pt_regs structure to report_bug() and pass it to
> show_regs() in case of a warning. This will give more debug informations
> like register contents, etc... In addition this avoids some pointless
> lines that dump_stack() emits, since it includes a stack backtrace of
> the exception handler which is of no interest in case of a warning.
> E.g. on s390 the following lines are currently always present in a stack
> backtrace if dump_stack() gets called from report_bug():
>
> [<000000000001517a>] show_trace+0x92/0xe8)
> [<0000000000015270>] show_stack+0xa0/0xd0
> [<00000000000152ce>] dump_stack+0x2e/0x3c
> [<0000000000195450>] report_bug+0x98/0xf8
> [<0000000000016cc8>] illegal_op+0x1fc/0x21c
> [<00000000000227d6>] sysc_return+0x0/0x10

I've seen those extra lines on avr32 as well and I agree they are
confusing. Register contents is nice to have too.

Acked-by: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx>
-
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/