2005-12-24 15:20:49

by Ed Sweetman

[permalink] [raw]
Subject: pci-dma disables iommu on nforce4 motherboards?

I have an asus A8N-E motherboard and recieve the following message on
boot.

PCI-DMA: Disabling IOMMU.

I have no issues with anything not functioning. I guess i'm just
curious as to why this is done and if i'm missing out on any sort of
performance gain by not using the iommu. I have less than 4GB of ram,
would that be why it's disabled (which is why i think it is)?


2005-12-24 15:53:21

by Jeff Garzik

[permalink] [raw]
Subject: Re: pci-dma disables iommu on nforce4 motherboards?

Ed Sweetman wrote:
> I have an asus A8N-E motherboard and recieve the following message on boot.
> PCI-DMA: Disabling IOMMU.
>
> I have no issues with anything not functioning. I guess i'm just
> curious as to why this is done and if i'm missing out on any sort of
> performance gain by not using the iommu. I have less than 4GB of ram,
> would that be why it's disabled (which is why i think it is)? -

What happens if you boot with iommu=force ?

Jeff



2005-12-24 23:37:21

by Robert Hancock

[permalink] [raw]
Subject: Re: pci-dma disables iommu on nforce4 motherboards?

Ed Sweetman wrote:
> I have an asus A8N-E motherboard and recieve the following message on boot.
> PCI-DMA: Disabling IOMMU.
>
> I have no issues with anything not functioning. I guess i'm just
> curious as to why this is done and if i'm missing out on any sort of
> performance gain by not using the iommu. I have less than 4GB of ram,
> would that be why it's disabled (which is why i think it is)? -

The IOMMU is not needed if your RAM all lies below 4GB (note that due to
memory space used for PCI and PCI-E resources, even with only 4GB of
memory, some may end up above 4GB). The purpose of the IOMMU is to allow
32-bit devices which cannot access memory above 4GB to read from such
memory. If the system does not have an IOMMU (i.e. the Intel CPUs with
EM64T) then bounce buffers must be used when these devices want to
perform DMA to memory above 4GB, which reduces performance.

On some platforms the IOMMU can be used to remap memory such that a
discontigous memory region appears contiguous to the device, so that it
can perform DMA transfers in larger chunks. I suspect the performance
benefit of this is somewhat negated by the time to set up the IOMMU
mapping, however.

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from [email protected]
Home Page: http://www.roberthancock.com/