Re: [Bug #13001] PCI-DMA: Out of IOMMU space

FUJITA Tomonori
2009-05-06T10:39:29Z

On Mon, 4 May 2009 10:27:11 +0500
**UNKNOWN CHARSET** <optimusgd-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:

> 2009/4/28 FUJITA Tomonori <fujita.tomonori-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>:
> > On Tue, 28 Apr 2009 14:18:57 +0500
> > **UNKNOWN CHARSET** <optimusgd-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> >
> >> No, it is regression. I can reproduce that without allowdac and any
> >> other unnecessary boot options.
> >
> > Hmm, in the bug repport, you said that you can't reproduce the problem:
> >
> > http://bugzilla.kernel.org/show_bug.cgi?id=13001#c15
> >
> > I can't find your comment like, "I can reproduce that without
> > allowdac".
>
> I was under a misapprehension. Later discussion was been in linux-pci
> mailing list
> http://markmail.org/message/pbng73ojpllln5fl

You didn't CC to me so it was impossible for me to track this bug.

> >> In later discussion Grant Grundler ask
> >> me apply patch that show 32 bit dma devices in my system. Results I
> >> attached to bugreport. Looks like only one 32 bit dma device in my
> >> system is ata controller, sata-nv.
> >
> > Hmm, looks like http://bugzilla.kernel.org/attachment.cgi?id=20895
> > said that pata_amd and sata_nv use 32bit dma mask.
> >
> >
> >> I can stable reproduce IOMMU out of space when I write data to sata
> >> drive.
> >
> > Ok, let's figure out what's wrong.
> >
> > First, can you test v2.6.30-rc3 with the following patch?
> >
> > http://www.kernel.org/pub/linux/kernel/people/tomo/misc/gart-debug.diff
> >
> >
> > Note that please enable CONFIG_DMA_API_DEBUG, CONFIG_IOMMU_DEBUG, and
> > CONFIG_IOMMU_LEAK and see if you can reproduce the problem (of course,
> > don't use any kernel option).
> >
> > When the kernel is out of IOMMU space, it prints some useful
> > information.
> >
>
> I can't reproduce bug in 2.6.30-rc3. I read and wrote ~ 100gb data
> from and to sata drive. Dmesg has two warnings during boot,

Thanks, then let's debug 2.6.29.2.

http://www.kernel.org/pub/linux/kernel/people/tomo/misc/gart-debug-2.6.29.diff

As you did with 2.6.30-rc3, enable CONFIG_DMA_API_DEBUG,
CONFIG_IOMMU_DEBUG, and CONFIG_IOMMU_LEAK and don't use any kernel
boot option.