> > > > After live migration, 'guest-stats' can't get the expected memory > > > > status in the guest. This issue is caused by commit 4eae2a657d. > > > > The value of 's->stats_vq_elem' will be NULL after live migration, > > > > and the check in the function 'balloon_stats_poll_cb()' will > > > > prevent the 'virtio_notify()' from executing. So guest will not > > > > update the memory status. > > > > > > > > Commit 4eae2a657d is doing the right thing, but 's->stats_vq_elem' > > > > should be treated as part of balloon device state and migrated to > > > > destination if it's not NULL to make everything works well. > > > > > > > > Signed-off-by: Liang Li <liang.z...@intel.com> > > > > Suggested-by: Paolo Bonzini <pbonz...@redhat.com> > > > > Cc: Michael S. Tsirkin <m...@redhat.com> > > > > Cc: Ladi Prosek <lpro...@redhat.com> > > > > Cc: Paolo Bonzini <pbonz...@redhat.com> > > > > > > I agree there's an issue but we don't change versions anymore. > > > Breaking migrations for everyone is also not nice. > > > > > > How about queueing virtio_balloon_receive_stats so it will get > > > invoked when vm starts? > > > > > > > Could you give more explanation about how it works? I can't catch you. > > > > Thanks! > > Liang > > virtqueue_discard before migration > > virtio_balloon_receive_stats after migration >
Sorry, I still can't catch you. Maybe it's easier for you to submit a patch than writing a lot a words to make me understand your idea. I just don't understand why not to use the version to make things easier, is that not the original intent of version id? If we want to extend the device and more states are needed, the idea you suggest can be used as a common solution? Thanks! Liang > -- > MST