virtio balloon: kill tell-host-first logic
authorDave Hansen <dave@linux.vnet.ibm.com>
Thu, 7 Apr 2011 17:43:25 +0000 (10:43 -0700)
committerRusty Russell <rusty@rustcorp.com.au>
Mon, 30 May 2011 01:44:13 +0000 (11:14 +0930)
commitbf50e69f63d21091e525185c3ae761412be0ba72
treefc88d1e774ae03e680b2fddc265404ee628b8545
parent177dbd95637a52b9118aca757d5856ec3995d3e7
virtio balloon: kill tell-host-first logic

The virtio balloon driver has a VIRTIO_BALLOON_F_MUST_TELL_HOST
feature bit.  Whenever the bit is set, the guest kernel must
always tell the host before we free pages back to the allocator.
Without this feature, we might free a page (and have another
user touch it) while the hypervisor is unprepared for it.

But, if the bit is _not_ set, we are under no obligation to
reverse the order; we're under no obligation to do _anything_.
As of now, qemu-kvm defines the bit, but doesn't set it.

This patch makes the "tell host first" logic the only case.  This
should make everybody happy, and reduce the amount of untested or
untestable code in the kernel.

This _also_ means that we don't have to preserve a pfn list
after the pages are freed, which should let us get rid of some
temporary storage (vb->pfns) eventually.

Signed-off-by: Dave Hansen <dave@linux.vnet.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
drivers/virtio/virtio_balloon.c