Re: [PATCH] panic.c: export panic_on_oops

From: Ingo Molnar
Date: Mon Oct 12 2009 - 15:16:49 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

>
>
> On Mon, 12 Oct 2009, Ingo Molnar wrote:
> >
> > * Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > Perhaps oops_enter() is a good place to mark the start of the log, and
> > > flush it within oops_exit().
> >
> > Simplest would be to do the last 2K in oops_exit()? That gives the
> > oops, and the history leading up to it. Since the blocking is 2K,
> > the extra log output is for free.
>
> I agree, except I don't think it should be fixed to 2k.

Yeah - i cited 2K only because that is what mtdoops uses.

> void dump_kmsg(void)
> [...]
>
> Look ma, no locking, no buffer allocations, no nothing.

Neat ...

This could also be used for a warm-reboot preserve-memory thing as well.
A well-known 4K (or so) area to preserve and print out during the next
bootup after a crash. dump_kmsg() could copy the kernel's last will out
to that area, or so.

That would be cross-kernel compatible and the newly booted kernel image
wouldnt overwrite this area. (which it does currently via its
__log_buf[])

Ingo
--
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/