Re: [RFC] KVM: Balloon support for device assignment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/17/2010 07:52 PM, Muli Ben-Yehuda wrote:
On Wed, Feb 17, 2010 at 12:27:09PM +0200, Avi Kivity wrote:
On 02/17/2010 11:43 AM, borove@xxxxxxxxxx wrote:
From: Eran Borovik<borove@xxxxxxxxxx>

This patch adds modifications to allow correct
balloon operation when a virtual guest uses a direct assigned device.
The modifications include a new interface between qemu and kvm to allow
mapping and unmapping the pages from the IOMMU as well as pinning and unpinning as needed.
The plan for iommu support is to push it into uio.  Instead of kvm
managing the iommu directly, I'd like qemu to open a uio device and
set up an iommu mapping there, which will just happen to match the
kvm memory slots.  Similarly, interrupts will be forwarded using
irqfds.  This will allow using the iommu without kvm, and reduce the
amount of special purpose kvm code.

These patches make the transition more difficult which worries me.
That's a fair point, but they also address a real short-coming of the
current device assignment code, which pins all of the guest's memory
unconditionally. Unless the uio effort is in progress and expected to
complete shortly, I would think the benefit of these simple patches
trumps the cost.

I'm not worried about transition cost (that's for whoever makes the transition to pay) but about how the APIs would translate to the new way of doing things.

For example, it might be done using mmu notifiers. We might use the existing madvise(MADV_DONTNEED) as the entry point (though I don't know how we would indicate deflation).

--
error compiling committee.c: too many arguments to function

--
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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux