[Pkg-xen-devel] ioatdma: Boot process hangs then reboots when using Xen + Linux 3.2

Bastian Blank waldi at debian.org
Fri Mar 2 17:57:19 UTC 2012

On Fri, Mar 02, 2012 at 08:44:00AM -0800, Dan Williams wrote:
> On Fri, Mar 2, 2012 at 8:21 AM, Bastian Blank <waldi at debian.org> wrote:
> > On Thu, Mar 01, 2012 at 10:42:44PM -0800, Dan Williams wrote:
> >> WARN_ON may work, but then kernel may be subject random hangs from missed
> >> i/o completions.
> ...actually descriptors completing too early.

The interrupt happens while the module is still loading, so most likely
directly after enabling them. There should be no request in flight yet.

What puzzles me is the mix of different data types in the ioatdma

| u64 completion = *chan->completion;
| unsigned long phys_complete = completion & ~0x3f;

The state is 64bit long, but is down converted to a 32bit value without

phys_complete (a 32 bit value) gets compared to struct
dma_async_tx_descriptor.phys, which is defined as dma_addr_t, a _64_ bit


... The prejudices people feel about each other disappear when they get
to know each other.
		-- Kirk, "Elaan of Troyius", stardate 4372.5

More information about the Pkg-xen-devel mailing list