Re: [PATCH] VFIO driver: Non-privileged user level PCI drivers

From: Avi Kivity
Date: Wed Jun 02 2010 - 05:50:28 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/