Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

My Motherboard's chipset supports this feature IOMMU, i've read (but not really understand) that it improves the VM performance by letting the VM make use of the actual physical hardware instead of the Virtual hardware.

Does this really bring a performance improvement in the VM? and if it does how can I make Virtualbox benefit from that?.

share|improve this question

1 Answer 1

up vote 5 down vote accepted

So long story short, the only way an IOMMU will help you is if you start assigning HW resources directly to the VM. Just having it doesn't make things faster.

It would help to know exactly what Motherboard/CPU is advertising this feature. IOMMU is a system specific IO mapping mechanism and can be used with most devices.

IOMMU sounds like a generic name for Intel VT-d and AMD IOV. In which case I don't think you can multiplex devices, it's a lot like PCI passthrough before all these fancy virtualization instructions existed :). SR-IOV is different, the peripheral itself must carry the support. The HW knows it's being virtualized and can delegate a HW slice of itself to the VM. Many VMs can talk to an SR-IOV device concurrently with very low overhead.

The only thing faster than SR-IOV is PCI passthrough though in that case only one VM can make use of that device, not even the host operating system can use it. PCI passthrough would be useful for say a VM that runs an intense database that would benefit from being attached to a FiberChannel SAN.

Getting closer to the HW does have limitations however, it makes your VMs less portable for deployments that require live migration for example. This applies to both SR-IOV and PCI passthrough.

Default virtualized Linux deployments usually use VirtIO which is pretty fast to begin with.

share|improve this answer
    
I read that from the User guide of my Motherboard, saying that if the Chipset supports it it could provide some sort of physical access to the Host hardware. –  Uri Herrera Dec 7 '11 at 4:54
    
I just read the Xen Wiki, IOMMU seems to do what SR-IOV does too, But i don't use Xen, and apparently Virtualbox doesn't make good use of this. –  Uri Herrera Dec 7 '11 at 5:07
    
No, most computers don't have an IOMMU. Maybe you are thinking IO-APIC? –  psusi Dec 7 '11 at 5:47
    
@psusi, that's what I get for replying so late, without my glasses :). Updating answer. –  ppetraki Dec 7 '11 at 15:01
    
Actually this Wikipedia article explains this pretty well: en.wikipedia.org/wiki/X86_virtualization . The big win for IOMMU support is that we can change which devices we pass through at run time. Before we had to specify a range of devices in the kernel arg list and only those peripherals were eligible for passthrough. IOMMU lets you remap devices as you see fit. Again this is exclusive access, either your host is using it, or one of the VMs is. This is really a server centric feature. –  ppetraki Dec 7 '11 at 15:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.