Re: [PATCH] virtio_balloon: Notify guest only after deflating the balloon
From: Rusty Russell <hidden>
Date: 2011-07-04 07:37:12
On Sun, 3 Jul 2011 15:11:37 +0300, "Michael S. Tsirkin" [off-list ref] wrote:
On Sun, Jul 03, 2011 at 01:52:29PM +0300, Sasha Levin wrote:quoted
This just leads me to believe that we should either not notify the host, or not wait_for_completion() when telling the host.Interesting. The spec says (a) The driver constructs an array of addresses of memory pages it has previously given to the balloon, as described above. This descriptor is added to the deflateq. (b) If the VIRTIO_BALLOON_F_MUST_TELL_HOST feature is set, the guest may not use these requested pages until that descriptor in the deflateq has been used by the device. (c) Otherwise, the guest may begin to re-use pages previously given to the balloon before the device has acknowledged their withdrawl. 21 In this case, deflation advice is merely a courtesy This does not discuss the following issue: what happens if the device never uses the descriptor in the deflateq and VIRTIO_BALLOON_F_MUST_TELL_HOST is not set? Rusty, any comments?
The device still *has* a queue. It should process it! The feature should be called VIRTIO_BALLOON_F_ASK_HOST_BEFORE_REUSE. If we didn't want the information at *all*, we would have made the queue not exist in that case... Thanks, Rusty.