From: Alexander Nyberg <alexn@dsv.su.se>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Andrew Morton <akpm@osdl.org>,
greg@kroah.com, gud@eth.net, linux-kernel@vger.kernel.org,
linux-pci@atrey.karlin.mff.cuni.cz, jgarzik@pobox.com,
cramerj@intel.com, linux-usb-devel@lists.sourceforge.net
Subject: Re: [PATCH] PCI: Add pci shutdown ability
Date: Tue, 26 Apr 2005 18:01:30 +0200 [thread overview]
Message-ID: <1114531290.10549.42.camel@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.44L0.0504261101060.12725-100000@iolanthe.rowland.org>
tis 2005-04-26 klockan 11:11 -0400 skrev Alan Stern:
> On Mon, 25 Apr 2005, Andrew Morton wrote:
>
> > I have vague memories of this being discussed at some length last year.
> > Nothing comprehensive came of it, except that perhaps the kdump code should
> > spin with irqs off for a couple of seconds so the DMA and IRQs stop.
>
> Like Pavel said, this won't work.
>
> > (Ongoing DMA is not a problem actually, because the kdump kernel won't be
> > using that memory anyway)
>
> For PCI devices at least, DMA _can_ be disabled in a uniform way as
> devices are discovered. Some platforms might not want to do this for fear
> it would kill the initial console display.
>
> IRQs _cannot_ be disabled in a uniform way. So they remain a problem.
>
> > For kdump we really don't want to be doing fancy driver shutdown inside a
> > crashed kernel. It would be better to just jump to the new kernel and
> > to reset the hardware from there. DMA doesn't matter, and maybe IRQs can
> > be handled with a sustained local_irq_disable() (hard).
>
> But at some point you have to enable local IRQs, and then you're in
> trouble if a device without a driver is generating requests. Unless the
> new kernel can run with interrupts entirely disabled? Seems pretty
> unlikely.
At least on x86 & x64 both i8259A and optional IOAPIC are initially
fully masked until a driver decides to open up a line.
If driver initialization fails then it should never open up the line on
the interrupt controller. So this shouldn't be a problem with interrupts
or am I missing something?
Shared interrupt lines do present a problem however as someone else gets
the chance to scream on an open line ultimately killing it, hmmm.
> The real problem is that, in general, hardware _can't_ be reset properly
> by a new kernel. There are things that can help, like the PCI USB quirks
> code. That might be enough to handle the most pressing existing problems;
> certainly it would avoid the USB issues we've seen. (But it needs to be
> updated to avoid interfering with normal operations during
> resume-from-disk.)
next prev parent reply other threads:[~2005-04-26 16:06 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.44L0.0504251128070.5751-100000@iolanthe.rowland.org>
[not found] ` <SVLXCHCON1syWVLEFN00000099e@SVLXCHCON1.enterprise.veritas.com>
[not found] ` <20050425182951.GA23209@kroah.com>
[not found] ` <20050425185113.GC23209@kroah.com>
2005-04-25 19:06 ` [PATCH] PCI: Add pci shutdown ability Greg KH
2005-04-25 19:23 ` Jeff Garzik
2005-04-25 20:07 ` Greg KH
2005-04-25 20:11 ` Adam Belay
2005-04-25 19:45 ` Alexander Nyberg
2005-04-25 20:12 ` Greg KH
2005-04-26 3:59 ` Benjamin Herrenschmidt
2005-04-25 20:14 ` Alan Stern
2005-04-25 20:52 ` Alexander Nyberg
2005-04-25 21:12 ` Alan Stern
2005-04-26 15:49 ` Grant Grundler
2005-04-26 16:04 ` Alan Stern
2005-04-26 16:37 ` Grant Grundler
2005-04-26 17:14 ` Alan Stern
2005-04-26 17:41 ` Grant Grundler
2005-05-11 5:33 ` Vivek Goyal
2005-05-11 14:38 ` Alan Stern
2005-04-25 21:58 ` Andrew Morton
2005-04-25 22:13 ` Dave Jones
2005-04-25 23:23 ` Adam Belay
2005-04-26 4:32 ` Benjamin Herrenschmidt
2005-04-26 6:23 ` Adam Belay
2005-04-26 7:14 ` [linux-pm] " Nigel Cunningham
2005-04-26 9:16 ` Pavel Machek
2005-04-26 9:41 ` Pavel Machek
2005-04-26 3:52 ` Benjamin Herrenschmidt
2005-04-26 15:14 ` Alan Stern
2005-04-26 9:39 ` Pavel Machek
2005-04-26 17:50 ` Dave Jones
2005-04-26 20:23 ` Pavel Machek
2005-04-26 3:45 ` Benjamin Herrenschmidt
2005-04-26 15:11 ` Alan Stern
2005-04-26 16:01 ` Alexander Nyberg [this message]
2005-04-26 15:41 ` Grant Grundler
2005-04-26 16:07 ` Richard B. Johnson
2005-04-26 16:19 ` Grant Grundler
2005-04-26 17:12 ` Alan Stern
2005-04-26 17:19 ` Lee Revell
2005-04-25 20:08 ` Adam Belay
2005-04-25 20:19 ` Greg KH
2005-04-25 20:24 ` Adam Belay
2005-04-25 20:42 ` Pavel Machek
2005-04-25 20:55 ` Adam Belay
2005-04-25 21:06 ` Pavel Machek
2005-04-26 4:30 ` Benjamin Herrenschmidt
2005-04-26 16:12 ` Grant Grundler
2005-04-26 13:44 ` [linux-usb-devel] " David Brownell
2005-04-26 21:15 ` Pavel Machek
2005-04-25 21:00 ` Greg KH
2005-04-25 21:13 ` Pavel Machek
2005-04-26 3:41 ` Benjamin Herrenschmidt
2005-04-26 10:11 ` Pavel Machek
2005-04-25 21:13 ` [linux-usb-devel] " David Brownell
2005-04-26 3:39 ` Benjamin Herrenschmidt
2005-04-26 6:33 ` Adam Belay
2005-04-26 6:44 ` Greg KH
2005-05-04 7:02 [PATCH] PCI: fix up word-aligned 16-bit PCI config access through sysfs Greg KH
2005-05-04 7:02 ` [PATCH] PCI: Add pci shutdown ability Greg KH
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=1114531290.10549.42.camel@localhost.localdomain \
--to=alexn@dsv.su.se \
--cc=akpm@osdl.org \
--cc=cramerj@intel.com \
--cc=greg@kroah.com \
--cc=gud@eth.net \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=stern@rowland.harvard.edu \
/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