Messages in this thread | | | Date | Wed, 2 Jun 2010 12:04:04 +0200 | From | Joerg Roedel <> | Subject | Re: [PATCH] VFIO driver: Non-privileged user level PCI drivers |
| |
On Wed, Jun 02, 2010 at 12:49:28PM +0300, Avi Kivity wrote: > On 06/02/2010 12:45 PM, Joerg Roedel wrote: >> IOMMU mapped memory can not be swapped out because we can't do demand >> paging on io-page-faults with current devices. We have to pin _all_ >> userspace memory that is mapped into an IOMMU domain. > > vhost doesn't pin memory. > > What I proposed is to describe the memory map using an object (fd), and > pass it around to clients that use it: kvm, vhost, vfio. That way you > maintain the memory map in a central location and broadcast changes to > clients. Only a vfio client would result in memory being pinned.
Ah ok, so its only about the database which keeps the mapping information.
> It can still work, but the interface needs to be extended to include > dirty bitmap logging.
Thats hard to do. I am not sure about VT-d but the AMD IOMMU has no dirty-bits in the page-table. And without demand-paging we can't really tell what pages a device has written to. The only choice is to mark all IOMMU-mapped pages dirty as long as they are mapped.
Joerg
| |