From: Philip R Auld <pauld@egenera.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH] make INIT# handler call panic
Date: Wed, 10 Nov 2004 15:53:38 +0000 [thread overview]
Message-ID: <20041110155338.GA12366@vienna.egenera.com> (raw)
In-Reply-To: <1099662943.913.180.camel@clarsen>
Hi,
Rumor has it that on Mon, Nov 08, 2004 at 09:14:21PM +0900 Takao Indoh said:
> Hi,
>
> On Fri, 05 Nov 2004 17:57:29 -0500, Cliff Larsen wrote:
>
> >> I don't have an opinion about whether calling panic from
> >> init_handler_platform() is the right thing to do or not.
> >> Certainly it is a good place for some sort of hook for a
> >> debugger and/or crashdump.
> >
> >My major motivation was to get to a crashdump hook and get
> >to restart, and panic does both, so I chose it.
>
> IIRC, LKCD is invoked by panic_notifier_list in the panic(), so
> LKCD may work correctly. But diskdump/netdump may not. They
> are called via BUG(). For example, netdump is called from the following
> BUG().
>
Calling BUG would also work, assuming the hooks are in the
BUG path. I'm not seeing that in 2.6.8 anyway.
> Normally BUG() invokes exception handler and dump function is called.
> But, I am not sure exception handler is correctly invoked from the INIT
> context.
This doesn't currently do much in ia64 as far as I can tell. It ends up
in die via die_if_kernel, but that doesn't look like it will ever get to a
machine restart, much less a crash dump or even a for(;;) loop. I may be
missing something though. I'm pretty new to Itanium.
In i386 there is panic_on_oops in die which can at least get to the
panic call chain (as there used to be in ia64).
None of the dump stuff is in the stock kernels yet is it?
>
>
> >> My personal preference would be something like this:
> >> 1) dump register state (for all CPUs, not just the INIT monarch)
> >> on the console
> >> 2) print backtraces (maybe just for currently-running tasks;
> >> currently we do the task on the INIT monarch plus all other
> >> non-running tasks, which is definitely non-optimal)
> >> 3) optional debugger/crashdump hook
> >> 4) call panic (maybe)
> >> 5) optional timeout, then reboot (if not calling panic)
> >>
> >> Part 5 would be trivial and probably not *too* controversial.
> >> Part 1 is harder but extremely useful, and I think someone (Zoltan?)
> >> posted a start. Part 2 should be simple given part 1.
> >
> >I'll see what I can do about most of these. Part 1 would be
> >difficult since the hardware/firmware we've currently got
> >available makes both processors the monarch on INIT.
>
> Even if crashdump hook is added into the init_handler, dump does not
> work correctly because of single INIT stack. Therefore Russ Anderson's
> patch which separates INIT stack is also indispensable.
>
We are still mostly a working with 2.4 (rhel3 which has netdump_func hooks)
and this all worked fine. A crashdump hook, a call to panic, or a call
to BUG each worked.
I doesn't look like anything but the crashdump hook can work in stock
2.6.8 since there are no dump routine calls in the panic or die paths.
Cheers,
Phil
> Regards,
> Takao Indoh
--
Philip R. Auld, Ph.D. Egenera, Inc.
Software Architect 165 Forest St.
(508) 858-2628 Marlboro, MA 01752
next prev parent reply other threads:[~2004-11-10 15:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-05 13:55 [PATCH] make INIT# handler call panic Cliff Larsen
2004-11-05 16:26 ` Bjorn Helgaas
2004-11-05 21:04 ` Cliff Larsen
2004-11-05 22:04 ` Bjorn Helgaas
2004-11-05 22:57 ` Cliff Larsen
2004-11-05 23:04 ` Russ Anderson
2004-11-08 12:14 ` Takao Indoh
2004-11-10 15:53 ` Philip R Auld [this message]
2004-11-11 0:55 ` Takao Indoh
2004-11-11 1:14 ` Luck, Tony
2004-11-11 17:12 ` Cliff Larsen
2004-11-11 17:18 ` Cliff Larsen
2004-11-11 17:33 ` Luck, Tony
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041110155338.GA12366@vienna.egenera.com \
--to=pauld@egenera.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox