With regards to the sharing devices between VMs, I don't quite agree that HW vendors don't know how to do it. It has been done with Infiniband devices (e.g., Jiuxing Liu's work at https://db.usenix.org/events/usenix06/tech/liu.html and http://xenbits.xensource.com/ext/xen-smartio.hg) and the PCI SIG IOV (IO Virtualization) group is working on defining and refining how this could be done.
With regards to IOMMUs being used to dedicate devices to guest domains, Jon Mason gave a talk about our work to do this at OLS yesterday. See http://www.linuxsymposium.org/2006/view_abstract.php?cont... for the abstract, http://www.mulix.org/lectures/using-iommus-for-virtualiza... for a preliminary copy of the slides, and http://xenbits.xensource.com/ext/xen-iommu.hg and http://xenbits.xensource.com/ext/linux-iommu.hg for the current snapshot of the code. The isolation capable IOMMU we're using is Calgary, available on high end IBM Intel and PPC based servers. So far we haven't had to modify the DMA-API interface, but we haven't gotten to optimizing it yet.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds