lkml.org 
[lkml]   [2009]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/16] DMA-API debugging facility v2
* David Woodhouse (dwmw2@infradead.org) wrote:
> What machine did you get that on?

That's a T400 (I'd expect it's same issue as X200).

> Yeah, I saw one of those. If could be a driver bug, of course -- it
> could be unmapping a range before it's actually finished with it. But
> that's unlikely.

One thing I noticed is many of the faults are the page prior to a
coherent range 0x8000 in length, which seems to correspond to tfd buffer.
No obvious off-by-one error anywhere, and not all faults fit that pattern,
so w/out more iwlagn driver knowledge hard to say if that's meaningful
or just mapping coincidence.

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

I'd have expected the iommu fault to be delivered first, but hey...

> It might be interesting to make this code also remember and print the
> last range that was unmapped, as well as the currently-mapped ranges.

That's what I was thinking too. Almost need a flight recorder mode to
see if the range was ever mapped/unmapped.

thanks,
-chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2009-02-06 17:13    [W:0.084 / U:0.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site