Re: [PATCH 0/16] DMA-API debugging facility v2

From: Chris Wright
Date: Fri Feb 06 2009 - 13:21:44 EST


* David Woodhouse (dwmw2@xxxxxxxxxxxxx) wrote:
> An alternative explanation... The DMA is aborted¹, and the device
> interrupts us to tell us about it at the _same_ time that the IOMMU
> interrupts us to tell us about the fault. We process the device
> interrupt first, unmap that buffer. And then we process the IOMMU
> interrupt... and the buffer is already gone from the list.

[ 362.283661] Device 0000:03:00.0 mapping: 1000@fff1b000
[ 362.283727] DMAR:[DMA Write] Request device [03:00.0] fault addr fff1b000
[ 362.284719] Device 0000:03:00.0 unmapping: 1000@fff1b000

[ 362.426974] Device 0000:03:00.0 mapping: 1000@fff1b000
[ 362.427040] DMAR:[DMA Write] Request device [03:00.0] fault addr fff1b000
[ 362.429092] Device 0000:03:00.0 unmapping: 1000@fff1b000

[ 447.644332] Device 0000:03:00.0 mapping: 1000@fff03000
[ 447.644373] DMAR:[DMA Write] Request device [03:00.0] fault addr fff03000
[ 447.646008] Device 0000:03:00.0 unmapping: 1000@fff03000

[ 483.037641] Device 0000:03:00.0 mapping: 1000@ffc9f000
[ 483.037707] DMAR:[DMA Write] Request device [03:00.0] fault addr ffc9f000
[ 483.038699] Device 0000:03:00.0 unmapping: 1000@ffc9f000

...

Looks like driver is doing the right thing.
--
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/