Re: [RFC][PATCH] introduce panic_gently

From: Bodo Eggert
Date: Fri Jul 06 2007 - 11:25:17 EST


On Fri, 6 Jul 2007, Andi Kleen wrote:

> Bodo Eggert <7eggert@xxxxxx> writes:
>
> > If the boot process failes to find init or the root fs, the cause has
> > usually scrolled off the screen, and because of the panic, it can't be
> > reached anymore.
> >
> > This patch introduces panic_gently, which will allow to use the scrollback
> > buffer and to reboot, but it can't be called from unsafe context.
>
> The implementation certainly has too much duplicated code. If anything
> it needs some common functions.

There are common parts, but they have subtile differences.
I'd rather make that function __init and not wory about that 200 bytes.


Maybe some parts can be skipped, too.

> The problem with keeping interrupts on is that the system might continue
> to route packets. This is sometimes quite unexpected for users.

> Arguably that's unlikely to be already enabled for missing root,
> but in theory initrd could have done it.

If initrd set up a router, it should should also do the mounts and call
init, shouldn't it? In this case, the panic() won't ever happen.

(At least the kernel panic()s if I run rdinit=/bin/ash and exit that
shell, therefore I can't depend on the kernel to execute init.)

> I think i would prefer if the normal panic() tried to detect the situations
> where this is
>
> It couldn't detect spinlocks, but interrupts off/interrupt context etc.

I asumed that to be the greater challenge, taking several months to get
right instead of a few minutes. (I'm not sure I really got this right, but
it happens to works for me.-)

--
Funny quotes:
36. You never really learn to swear until you learn to drive.
-
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/