On Friday, December 14, 2018 7:17 PM, Dr. David Alan Gilbert wrote: > > On 12/14/2018 05:56 PM, Dr. David Alan Gilbert wrote: > > > * Wei Wang (wei.w.w...@intel.com) wrote: > > > > On 12/13/2018 11:45 PM, Dr. David Alan Gilbert wrote: > > > > > * Wei Wang (wei.w.w...@intel.com) wrote: > > > > > > The new feature enables the virtio-balloon device to receive > > > > > > hints of guest free pages from the free page vq. > > > > > > > > > > > > A notifier is registered to the migration precopy notifier > > > > > > chain. The notifier calls free_page_start after the migration > > > > > > thread syncs the dirty bitmap, so that the free page > > > > > > optimization starts to clear bits of free pages from the > > > > > > bitmap. It calls the free_page_stop before the migration > > > > > > thread syncs the bitmap, which is the end of the current round > > > > > > of ram save. The free_page_stop is also called to stop the > optimization in the case when there is an error occurred in the process of > ram saving. > > > > > > > > > > > > Note: balloon will report pages which were free at the time of this > call. > > > > > > As the reporting happens asynchronously, dirty bit logging > > > > > > must be enabled before this free_page_start call is made. > > > > > > Guest reporting must be disabled before the migration dirty bitmap > is synchronized. > > > > > > > > > > > > Signed-off-by: Wei Wang <wei.w.w...@intel.com> > > > > > > CC: Michael S. Tsirkin <m...@redhat.com> > > > > > > CC: Dr. David Alan Gilbert <dgilb...@redhat.com> > > > > > > CC: Juan Quintela <quint...@redhat.com> > > > > > > CC: Peter Xu <pet...@redhat.com> > > > > > I think I'm OK for this from the migration side, I'd appreciate > > > > > someone checking the virtio and aio bits. > > > > > > > > > > I'm not too sure how it gets switched on and off - i.e. if we > > > > > get a nice new qemu on a new kernel, what happens when I try and > > > > > migrate to the same qemu on an older kernel without these hints? > > > > > > > > > This feature doesn't rely on the host kernel. Those hints are > > > > reported from the guest kernel. > > > > So migration across different hosts wouldn't affect the use of this > feature. > > > > Please correct me if I didn't get your point. > > > Ah OK, yes; now what about migrating from new->old qemu with a new > > > guest but old machine type? > > > > > > > I think normally, the source QEMU and destination QEMU should have the > > same QEMU booting parameter. If the destination QEMU doesn't support > > "--device virtio-balloon,free-page-hint=true", which the source QEMU > > has, the destination side QEMU will fail to boot, and migration will > > not happen then. > > Ah that's OK; as long as free-page-hint is false by default that will work > fine. > > Dave >
Hi Dave, Could we have this feature in QEMU 4.0 (freeze on Mar 12)? Best, Wei