Re: [Bugme-new] [Bug 7246] New: 3w-xxxx, IOMMU and >1go RAM

adam radford
2006-10-02T18:06:33Z

This driver is for the older 3ware controllers. They can only DMA to 32-bit
addresses. I set pci_set_dma_mask(pdev, DMA_32BIT_MASK). When you
have >= 4GB of RAM, you should use the IOMMU. The driver has a large
default queue depth, so it can use up a lot of mappings. Perhaps IOMMU is
turned off in the bios, or the aperature isn't sufficiently large
enough for the mappings?

-Adam

On 10/2/06, Andrew Morton <akpm@osdl.org> wrote:
> On Mon, 2 Oct 2006 08:08:37 -0700
> bugme-daemon@bugzilla.kernel.org wrote:
>
> > http://bugzilla.kernel.org/show_bug.cgi?id=7246
> >
> > Summary: 3w-xxxx, IOMMU and >1go RAM
> > Kernel Version: 2.6.18
> > Status: NEW
> > Severity: normal
> > Owner: scsi_drivers-other@kernel-bugs.osdl.org
> > Submitter: aarnoud@agematis.com
> >
> >
> > Most recent kernel where this bug did not occur: 2.6.15-1
> > Distribution: Debian Testing
> > Hardware Environment: SuperMicro X6DVL-EG2, 4go RAM, 3ware 8006-2LP, 2xHitachi
> > 2x80go
> > Software Environment:
> > Problem Description: Data corruption with kernel newer than 2.6.15-1.
> >
> > Steps to reproduce: tested with most kernel 2.6.16, 2.6.17 and 2.6.18 all doing
> > same corruption.
> >
> > Solved the probleme leaving only 1go of RAM and setting IOMMU=off during boot
> > time, with 4go RAM kernel hangs saying :
> >
> > 3w-xxxx: tw_map_scsi_sg_data(): pci_map_sg() failed.
> > nommu_map_sg: overflow 2053d9000+4096 of device mask ffffffff
> > 3w-xxxx: tw_map_scsi_sg_data(): pci_map_sg() failed.
> > nommu_map_sg: overflow 2053d9000+4096 of device mask ffffffff
> > 3w-xxxx: tw_map_scsi_sg_data(): pci_map_sg() failed.
> > nommu_map_sg: overflow 2053d9000+4096 of device mask ffffffff
> >
> > and hangs badly.
> >
>
> James, Adam: I recall that we had a scsi driver recently which had problems
> similar to this, but I think it was with addresses over 4G, not over 1G.
> It also might not have been the 3ware driver. Do you recall?
>
> Alexandre, can you please send the full dmesg output for that machine?
>
> Thanks.
>