Subject: Re: Is fallback vhost_net to qemu for live migrate available？

From: "Michael S. Tsirkin" <[email-masked]>
Date: Tue, 27 Aug 2013 10:16:55 +0300

On Tue, Aug 27, 2013 at 03:04:54PM +0800, Qin Chuanyu wrote:
> On 2013/8/27 12:19, Michael S. Tsirkin wrote:
> >On Tue, Aug 27, 2013 at 11:32:31AM +0800, Qin Chuanyu wrote:
> >>Hi all
> >>
> >>I am participating in a project which try to port vhost_net on Xen。
> >>
> >>By change the memory copy and notify mechanism ，currently
> >>virtio-net with vhost_net could run on Xen with good
> >>performance。TCP receive throughput of single vnic from 2.77Gbps up
> >>to 6Gps。In VM receive side，I instead grant_copy with grant_map +
> >>memcopy，it efficiently reduce the cost of grant_table spin_lock of
> >>dom0，So the hole server TCP performance from 5.33Gps up to 9.5Gps。
> >>
> >>Now I am consider the live migrate of vhost_net on Xen，vhost_net
> >>use vhost_log for live migrate on Kvm，but qemu on Xen havn't manage
> >>the hole memory of VM，So I am trying to fallback datapath from
> >>vhost_net to qemu when doing live migrate ，and fallback datapath
> >>from qemu to
> >>vhost_net again after vm migrate to new server。
> >>
> >>My question is：
> >>	why didn't vhost_net do the same fallback operation for live
> >>migrate on KVM，but use vhost_log to mark the dirty page？
> >>	Is there any mechanism fault for the idea of fallback datapath from
> >>vhost_net to qemu for live migrate？
> >>
> >>any question about the detail of vhost_net on Xen is welcome。
> >>
> >>Thanks
> >>
> >
> >It should work, in practice.
> >
> >However, one issue with this approach that I see is that you
> >are running two instances of virtio-net on the host:
> >qemu and vhost-net, doubling your security surface
> >for guest to host attack.
> >
> >I don't exactly see why does it matter that qemu doesn't manage
> >the whole memory of a VM - vhost only needs to log
> >memory writes that it performs.
> >
> >
> >.
> >
> Thanks for your reply.
> 
> In fact，I am not sure that whether vhost_log could work on Xen live
> migrate or not. Yes，vhost_sync_dirty_bitmap work well on Kvm，but
> vhost_net havn't run on Xen before，although the method
> vhost_dev_sync_region -> memory_region_set_dirty ->
> xen_modified_memory call sequence exist.
> 
> Have you considered the scene that vhost_migration_log code running
> on Xen？ If yes，it sames much easier then fallback datapath from
> vhost_net to qemu for live migrate.
> 

I never looked at how Xen live migration works with QEMU so I don't
know.