From: Khalid Aziz <khalid_aziz@hp.com>
To: Andrew Morton <akpm@osdl.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Fastboot mailing list <fastboot@lists.osdl.org>,
Linux ia64 <linux-ia64@vger.kernel.org>
Subject: Re: [PATCH] kexec on ia64
Date: Wed, 05 Apr 2006 16:11:27 +0000 [thread overview]
Message-ID: <1144253487.16025.21.camel@lyra.fc.hp.com> (raw)
In-Reply-To: <20060403212049.480ad388.akpm@osdl.org>
On Mon, 2006-04-03 at 21:20 -0700, Andrew Morton wrote:
> Khalid Aziz <khalid_aziz@hp.com> wrote:
> >
> > Add kexec support on ia64.
> >
>
> Neat. How well does it work?
Works well on my test machines - HP rx2600 and HP cx2600. Hopefully
others can test it on other machines.
> > +/*
> > + * Terminate any outstanding interrupts
> > + */
> > +void terminate_irqs(void)
> > +{
> > + struct irqaction * action;
> > + irq_desc_t *idesc;
> > + int i;
> > +
> > + for (i=0; i<NR_IRQS; i++) {
>
> for (i = 0; i < NR_IRQS; i++) {
>
> > + idesc = irq_descp(i);
> > + action = idesc->action;
> > + if (!action)
> > + continue;
> > + if (idesc->handler->end)
> > + idesc->handler->end(i);
> > + }
> > +}
>
> Could we have a bit more description of what this function does, and why we
> need it?
>
> Should other kexec-using architectures be using this? If not, why does
> ia64 need it?
>
> Thanks.
This funtion terminates any outstanding interrupts. I found it to be
necessary for devices that use level interrupt. If a device, using level
interrupt, asserted its interrupt as kernel goes into panic, nobody
acknowledges its interrupt. As a result, this interrupt stays asserted
as the new kernel comes up. All drivers in their initialization routine
should clear any pending interrupts, but most do not. As a result, when
driver attempts to use the interrupt, it is unable to since the
interrupt was already asserted and any new interrupts from the device
simply cause interrupt line to continue to be asserted. terminate_irqs()
tries to acknowledge any pending interrupts so the interrupts will be
usable when the new kernel comes up. This is not specific to ia64 and I
would think this problem would show up on other architectures as well. I
happened to find it on ia64 because HP rx2600 uses level interrupts for
SCSI controller.
--
Khalid
==================================
Khalid Aziz Open Source and Linux Organization
(970)898-9214 Hewlett-Packard
khalid.aziz@hp.com Fort Collins, CO
"The Linux kernel is subject to relentless development"
- Alessandro Rubini
next prev parent reply other threads:[~2006-04-05 16:11 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-15 20:32 [PATCH] kexec on ia64 Khalid Aziz
2004-11-15 21:15 ` Luck, Tony
2004-11-15 22:03 ` David Mosberger
2004-11-15 22:14 ` Khalid Aziz
2004-11-16 17:28 ` Khalid Aziz
2005-10-25 22:52 ` Khalid Aziz
2005-10-26 18:28 ` Gerald Pfeifer
2005-10-26 19:02 ` Luck, Tony
2005-10-26 20:25 ` Eric W. Biederman
2005-10-26 21:43 ` Luck, Tony
2005-10-26 21:49 ` Khalid Aziz
2005-10-26 23:21 ` Zou Nan hai
2005-10-27 7:10 ` Eric W. Biederman
2005-10-27 19:05 ` Khalid Aziz
2005-10-27 23:17 ` Zou Nan hai
2006-04-03 22:20 ` Khalid Aziz
2006-04-04 4:20 ` Andrew Morton
2006-04-04 6:07 ` [Fastboot] " Michael Ellerman
2006-04-05 16:11 ` Khalid Aziz [this message]
2006-04-04 18:13 ` [Fastboot] " Eric W. Biederman
2006-04-05 16:34 ` Khalid Aziz
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=1144253487.16025.21.camel@lyra.fc.hp.com \
--to=khalid_aziz@hp.com \
--cc=akpm@osdl.org \
--cc=fastboot@lists.osdl.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@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