LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 10-11-2010, 06:04 PM   #1
dkwan
LQ Newbie
 
Registered: Oct 2010
Posts: 9

Rep: Reputation: 0
Is IOMMU enabled?


I am developing a driver and am trying to enable IOMMU on an x86_64 AMD Opteron platform and RHEL 4.6 (kernel 2.6.9-67.0.10.ELlargesmp) with memory >4GB. The IOMMU setting is enabled in the BIOS. There is no size setting so I pass "iommu=memaper=4" kernel boot option to set the size to 512M. In the kernel messages, I see:

kernel: Checking aperture...
kernel: Your BIOS doesn't leave a aperture memory hole
kernel: Please enable the IOMMU option in the BIOS setup
kernel: This costs you 512 MB of RAM
kernel: Mapping aperture over 524288 KB of RAM @ 60000000

but later in dmesg, I see:

kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB)

If IOMMU is really enabled, why would software bounce buffering be used?

We have another RHEL4.6 x86_64 Opteron host with memory >4GB which has an IOMMU size setting in the BIOS. Its dmesg shows:

kernel: PCI-DMA: Disabling AGP.
kernel: PCI-DMA: aperture base @ 80000000 size 524288 KB
kernel: PCI-DMA: Reserving 512MB of IOMMU area in the AGP aperture

There is no mention of SWIOTLB. Does it mean that this host has AGP and my first one does not? My driver is failing DMA on the first host, but not the second. Could this be the reason? Thanks!
 
Old 10-12-2010, 08:02 AM   #2
scheidel21
Senior Member
 
Registered: Feb 2003
Location: CT
Distribution: Debian 6+, CentOS 5+
Posts: 1,323

Rep: Reputation: 100Reputation: 100
First does the chipset support IOMMU some of the processors do but the chipsets they are built on don't. Seconf I had a similar issue setting up XEN recently I had to explicitly tell the kernel to turn on IOMMU despite it being active in the BIOS. I think it is something like IOMMU=1 As far as having access to the RAM if you are using virtualization extensions like IOMMU then it is is not workign and you are developing in a virtualized environment you could likely encoutner hardware communication issues especially with something like Direct Memory Access.
 
Old 10-12-2010, 03:29 PM   #3
dkwan
LQ Newbie
 
Registered: Oct 2010
Posts: 9

Original Poster
Rep: Reputation: 0
Thanks for the reply!

iommu=1 did not work for me. I also tried iommu=force which did not work (maybe they're the same).

Regarding the chipset, I did find this comment in the 2.6.9 kernel IOMMU code (pci_gart.c):

"Use the integrated AGP GART in the Hammer northbridge as an IOMMU for PCI."

Does this imply that if there is no AGP, the IOMMU will not be enabled in the kernel?
 
Old 10-12-2010, 09:57 PM   #4
scheidel21
Senior Member
 
Registered: Feb 2003
Location: CT
Distribution: Debian 6+, CentOS 5+
Posts: 1,323

Rep: Reputation: 100Reputation: 100
I would interpret the documentation that way for that chipset, meaning no AGP, no IOMMU. if you try IOMMU=Verbose and check DMESG looking for IOMMU what do you see?
 
Old 10-17-2010, 06:56 PM   #5
dkwan
LQ Newbie
 
Registered: Oct 2010
Posts: 9

Original Poster
Rep: Reputation: 0
Hi scheidel21,

iommu=verbose showed nothing new. I've put this issue aside for now as it's not urgent for the time being. Thanks for your help!
 
Old 12-05-2011, 10:29 PM   #6
polpak
Member
 
Registered: Jan 2011
Location: Planet Earth, Australia, NSW
Distribution: GNOME openSUSE Leap/Ubuntu
Posts: 189

Rep: Reputation: 21
Being NON-Technical am wondering why given so many searches and posts on this, why not, or where, exists a list of chipsets and processors which DO/NOT support IOMMU so we can ensure intended/possessed combinations do/not support.




Steve Apiki's article of "8/9/2006" explained a bit, are processors/chipsets/motherboards newer than fixed for this ?

http://developer.amd.com/documentati...892006101.aspx

Last edited by polpak; 12-05-2011 at 10:34 PM. Reason: knock on door no error checking !
 
Old 12-07-2011, 06:37 PM   #7
scheidel21
Senior Member
 
Registered: Feb 2003
Location: CT
Distribution: Debian 6+, CentOS 5+
Posts: 1,323

Rep: Reputation: 100Reputation: 100
Because IOMMU is a feature like 64-bit it is implemented first on newer high end chips, even now not all chips don't support x64. It's a feature when you are looking to buy equipment you see if the feature is available on what you want to buy.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
IOMMU can anyone help byerlyd Linux - Newbie 8 02-02-2009 11:48 PM
:high address but no IOMMU error ??? your_shadow03 Linux - Newbie 5 09-30-2008 09:44 AM
PCI-DMA not syncing: high address but no IOMMU joe_merchant Linux - Hardware 4 09-30-2008 05:16 AM
[sda] Write cache: enabled, read cache: enabled, doesn't support DPO seskissinger Linux - Software 3 05-16-2008 01:17 PM
iptables and 2.6.1, not enough enabled? darklogik_org Slackware 4 01-26-2004 01:19 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 07:07 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration