[PATCH] Enable kdump if 2nd-kernel is loaded.
Simon Horman
horms at verge.net.au
Thu Jul 9 01:52:37 EDT 2009
On Thu, Jul 09, 2009 at 09:43:19AM +0900, Ken'ichi Ohmichi wrote:
>
> Hi Simon,
>
> Thank you for the comment.
>
> Simon Horman wrote:
> > On Wed, Jul 08, 2009 at 01:38:59PM +0900, Ken'ichi Ohmichi wrote:
> >> Hi,
> >>
> >> This patch enables a kdump if 2nd-kernel is loaded.
> >> (The patch is based on linux-2.6.31-rc2.)
> >>
> >> Now, a kdump is enabled if a kernel parameter "oops=panic" is specified and
> >> 2nd-kernel is loaded. I think that a kdump should be enabled regardless of
> >> "oops=panic" if 2nd-kernel is loaded, because a system administrator loads
> >> 2nd-kernel for enabling a kdump.
> >
> > I'm not sure that I like this change. To my mind, panic on oops
> > should only occur if specifically requested.
>
> My patch does not make panic_on_oops effective when 2nd-kernel is loaded,
> and it makes a kdump effective.
>
> kexec_should_crash() is called only by oops_end() for checking whether to
> call crash_kexec(). crash_kexec() is not panic, and I feel it is better
> that crash_kexec() is called when 2nd-kernel is loaded.
>
>
> I tried to test a kdump on linux-2.6.31-rc1 *without* a kernel parameter
> "oops=panic" by `echo c > /proc/sysrq-trigger`, but a kdump did not work
> because a kdump, which is occurred by `echo c > /proc/sysrq-trigger`, has
> been changed to a NULL pointer error instead of calling crash_kexec()
> since linux-2.6.31-rc1. Then I tried to boot linux-2.6.31-rc1 *with* a
> kernel parameter "oops=panic", the kernel got a panic while kernel booting
> due to a problem other than a kdump.
> So I think a kdump should be enabled when 2nd-kernel is loaded.
Hi,
thanks for the more detailed explanation. I've reconsidered my position
and actually I think that I quite like your idea - it does indeed make
sense for kdump to occur if a kdump kernel has been loaded.
Acked-by: Simon Horman <horms at verge.net.au>
> Thanks
> Ken'ichi Ohmichi
>
> >> Signed-off-by: Ken'ichi Ohmichi <oomichi at mxs.nes.nec.co.jp>
> >> ---
> >> --- a/kernel/kexec.c 2009-07-08 12:30:26.000000000 +0900
> >> +++ b/kernel/kexec.c 2009-07-08 12:38:08.000000000 +0900
> >> @@ -57,6 +57,8 @@ struct resource crashk_res = {
> >>
> >> int kexec_should_crash(struct task_struct *p)
> >> {
> >> + if (kexec_crash_image)
> >> + return 1;
> >> if (in_interrupt() || !p->pid || is_global_init(p) || panic_on_oops)
> >> return 1;
> >> return 0;
> >>
> >> _______________________________________________
> >> kexec mailing list
> >> kexec at lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/kexec
> >
> > _______________________________________________
> > kexec mailing list
> > kexec at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/kexec
> >
>
>
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
More information about the kexec
mailing list