Re: 2.6.29: can't resume from suspend with DMAR (intel iommu)enabled

From: Ingo Molnar
Date: Wed Mar 25 2009 - 13:40:49 EST



* mark gross <mgross@xxxxxxxxxxxxxxx> wrote:

> On Tue, Mar 24, 2009 at 09:32:59PM +0100, Ingo Molnar wrote:
> >
> > (Cc:s added)
> >
> > * Andrew Lutomirski <amluto@xxxxxxxxx> wrote:
> >
> > > On vanilla 2.6.29 (on Ubuntu 8.10), on a Lenovo x200s, my system
> > > is completely hosed on resume. It appears that even hard disk IO
> > > didn't work (trying to do *anything* including getting a dmesg
> > > trace just spewed sda io errors to the console). Hence no trace.
> > > I did an alt-sysrq-b and the screen went blank and the machine
> > > just started beeping at me.
> > >
> > > Resume works much better with intel_iommu=off. (I remember seeing
> > > a patch go by that purported to fix resume with IOMMU enabled, but
> > > it didn't work for me.)
> > >
> > > I'd be happy to try to make a better bug report if anyone has any
> > > bright ideas.
> >
> > i have a Lenovo T500 that does not even boot with with DMAR enabled
> > in the BIOS (it's default-off), i get this panic in early bootup:
> >
> > DMAR hardware is malfunctioning
>
> That happens when the polling of the IOMMU registers fail to
> behave as expected in the VT-d specification. Typically its been
> a bios issue when this happens.

it's hugely problematic to panic() the box early during bootup.
IOMMU code should be disabled instead, a warning emitted - and life
should continue.

With the current method you only ensure that distros turn DMAR
support off and that users disable it in their BIOS. That's a double
disadvantage.

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