Messages in this thread | | | Date | Wed, 02 Jun 2010 12:49:28 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH] VFIO driver: Non-privileged user level PCI drivers |
| |
On 06/02/2010 12:45 PM, Joerg Roedel wrote: > On Tue, Jun 01, 2010 at 03:41:55PM +0300, Avi Kivity wrote: > >> On 06/01/2010 01:46 PM, Michael S. Tsirkin wrote: >> > >>> Main difference is that vhost works fine with unlocked >>> memory, paging it in on demand. iommu needs to unmap >>> memory when it is swapped out or relocated. >>> >>> >> So you'd just take the memory map and not pin anything. This way you >> can reuse the memory map. >> >> But no, it doesn't handle the dirty bitmap, so no go. >> > 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.
It can still work, but the interface needs to be extended to include dirty bitmap logging.
-- error compiling committee.c: too many arguments to function
| |