IOMMU: Enable or Leave Disbled in BIOS

General support questions
desertcat
Posts: 204
Joined: 2014/08/07 02:17:29

IOMMU: Enable or Leave Disbled in BIOS

Postby desertcat » 2017/12/06 08:18:20

While tracking down a problem in BIOS I fell across something called IOMMU which is set to DISABLED but which is supposedly "...supported in Linux based Systems". I have not a clue what it is, if it should be enabled, if so is there a performance hit, does it suck up memory or release memory, or should I simply leave it DISABLED. I currently am a "Test Guinea Pig" for some other OS's that I run in Virtual Machine in VMware Player. If it *should* be enabled, besides changing from DISABLED --> ENABLED is there anything else that needs to be done?

Curiosity is an occupational hazard or all cats....

desertcat

pjsr2
Posts: 196
Joined: 2014/03/27 20:11:07

Re: IOMMU: Enable or Leave Disbled in BIOS

Postby pjsr2 » 2017/12/06 09:56:18

A nice write-up: https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit.
IOMMU improves performance for virtual machines and is needed for direct device access by virtual machines (https://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM).

desertcat
Posts: 204
Joined: 2014/08/07 02:17:29

Re: IOMMU: Enable or Leave Disbled in BIOS

Postby desertcat » 2017/12/06 20:25:44

pjsr2 wrote:A nice write-up: https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit.
IOMMU improves performance for virtual machines and is needed for direct device access by virtual machines (https://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM).


Thank you for the reply. I more-or-less came across similar information, which was why I asked. I run a lot of VM using VMware Player. I obviously use a 64bit OS since I use CentOS 7.4, and some of the VM I run Include Windows 7 and Windows 10 (for my sister who refuses to see the light (SIGH) and I provide tech support (sort of) for her though I'm over 1000 miles away). I've used VMware Player for years without IOMMU so I'm wondering if there would be any advantage to ENABLING now. IF I enable it in BIOS is there any config files etc. I need to set up in CentOS 7.4?? IF it improves VM inside VMware Player that would be a huge plus especially when I run Windows 10 as a VM: The OS is a MONSTER and slow as a SlugBall. My CPU is a AMD FX-6300 hexacore processor, and I have 32GB of RAM, and if it matters my mobo is an ASUS M5A97 R2.0.

Enabling IOMMU in BIOS is not a big thing, the unknown is if VMware Player and the VM run in (? by?) it will benefit from turning it on. Then there is the issue if I need to configure it (I read something about modifying /etc/default/grub, but also read about issuing commands from the CLI so I'm sort of in a fog bank here). If it improves performance of any VM even if the VM is running in (?) by (?) something like VMware Player then IOMMU here I come; OTOH if VM running in (?) by (?) VMware Player do NOT benefit from turning it on...

Finally if I ENABLE it in BIOS without doing anything else -- just ENABLE it -- will it screw something else up when I reboot the machine -- a situation I dearly would love to avoid, as I've spent a fair amount of time configuring the machine so there are no conflicts and modifying some scripts.

Thanks for your help and any advice you can provide.

hunter86_bg
Posts: 804
Joined: 2015/02/17 15:14:33
Location: Bulgaria
Contact:

Re: IOMMU: Enable or Leave Disbled in BIOS

Postby hunter86_bg » 2017/12/07 16:42:13

Here is an example when you benefit from IOMMU:
A)Windows VM with exposed VGA adapter.Gaming performance is close to baremetal.
B)Ubuntu server VM with exposed 2 physical NICs.

In both cases you need a pci/pci-e device that you want to provide to specific guest.

Simple enabling without using shouldn't affect you.

drk
Posts: 395
Joined: 2014/01/30 20:38:28

Re: IOMMU: Enable or Leave Disbled in BIOS

Postby drk » 2017/12/11 02:15:59

Finally if I ENABLE it in BIOS without doing anything else -- just ENABLE it -- will it screw something else up when I reboot the machine -- a situation I dearly would love to avoid, as I've spent a fair amount of time configuring the machine so there are no conflicts and modifying some scripts.


Maybe, - it depends on the chipset of your mobo. If you enable it in the BIOS you'll also want to add 'amd_iommu=on' to your kernel boot options.