On Wed, Jun 02, 2010 at 11:45:27AM +0200, 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. > > Joerg One of the issues I see with the current patch is that it uses the mlock rlimit to do this pinning. So this wastes the rlimit for an app that did mlockall already, and also consumes this resource transparently, so an app might call mlock on a small buffer and be surprised that it fails. Using mmu notifiers might help? -- MST -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html