Re: [RFC/PATCH] Kdump: Disabling PCI interrupts in capture kernel

From: Eric W. Biederman
Date: Tue Jun 07 2005 - 05:09:31 EST


Grant Grundler <grundler@xxxxxxxxxxxxxxxx> writes:

> On Mon, Jun 06, 2005 at 11:07:17PM -0400, Vivek Goyal wrote:
> > So even if interrupts are disabled on PCI-PCI bridge, interrupts generated
> > by PCI devices on secondary bus are not blocked and I hope device should
> > be working fine.
>
> How did you plan on disabling interrupts?
> Did you see the MSI discussion that going on now in linux-pci mailing list?
>
> > But at the same time kdump kernels are not supposed to
> > do a great deal except capture and save the dump.
>
> I'd think you want to stop DMA for all devices.
> Just to prevent them from messing more with memory
> that you want to dump - ie get a consistent snapshot.
> Leaving VGA devices alone should be safe.
>
> > Disabling interrupts at PCI level should increase the reliability of capturing
>
> > the dump on newer machines with hardware compliant with PCI 2.3 or higher.
>
> *lots* of PCI devices predate PCI2.3. Possibly even the majority.

In general generic hardware bits for disabling DMA, disabling interrupts
and the like are all advisory. With the current architecture things
will work properly even if you don't manage to disable DMA (assuming
you don't reassign IOMMU entries at least).

Non-shared interrupts are not a problem as they can fairly safely
be disabled at the interrupt controller.

Shared interrupts are an interesting case. The simplest solution I can
think of for a crash dump capture kernel is to periodically poll
the hardware, as if all interrupts are shared. At that level
I think we could get away with ignoring all hardware interrupt sources.

Does anyone know of a anything that would break by always polling
the hardware? I guess there could be a problem with drivers
that don't understand shared interrupts, are there enough of those
to be an issue.

Eric

-
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/