[dpdk-dev] vhost: enable live migration

Message ID 1432695691-22360-1-git-send-email-huawei.xie@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Huawei Xie May 27, 2015, 3:01 a.m. UTC
  When we migrate VM, without this feature, qemu will report error:
"migrate: Migration disabled: vhost lacks VHOST_F_LOG_ALL feature".

Signed-off-by: Krishna Murthy  <krishna.j.murthy@intel.com>
---
 lib/librte_vhost/virtio-net.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Ouyang Changchun June 1, 2015, 4:47 a.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Huawei Xie
> Sent: Wednesday, May 27, 2015 11:02 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] vhost: enable live migration
> 
> When we migrate VM, without this feature, qemu will report error:
> "migrate: Migration disabled: vhost lacks VHOST_F_LOG_ALL feature".
> 

Is this enough for vhost to support  migrate VM?
I remember Claire has another patch, possibly need refer to that patch.

> Signed-off-by: Krishna Murthy  <krishna.j.murthy@intel.com>
> ---
>  lib/librte_vhost/virtio-net.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c index
> 4672e67..fced2ab 100644
> --- a/lib/librte_vhost/virtio-net.c
> +++ b/lib/librte_vhost/virtio-net.c
> @@ -66,7 +66,8 @@ static struct virtio_net_config_ll *ll_root;
>  /* Features supported by this lib. */
>  #define VHOST_SUPPORTED_FEATURES ((1ULL <<
> VIRTIO_NET_F_MRG_RXBUF) | \
>  				(1ULL << VIRTIO_NET_F_CTRL_VQ) | \
> -				(1ULL << VIRTIO_NET_F_CTRL_RX))
> +				(1ULL << VIRTIO_NET_F_CTRL_RX) | \
> +				(1ULL << VHOST_F_LOG_ALL))
>  static uint64_t VHOST_FEATURES = VHOST_SUPPORTED_FEATURES;
> 
> 
> --
> 1.8.1.4
  
Thomas Monjalon June 4, 2015, 1 p.m. UTC | #2
2015-06-01 04:47, Ouyang, Changchun:
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Huawei Xie
> > When we migrate VM, without this feature, qemu will report error:
> > "migrate: Migration disabled: vhost lacks VHOST_F_LOG_ALL feature".
> 
> Is this enough for vhost to support  migrate VM?
> I remember Claire has another patch, possibly need refer to that patch.

Indeed, there were some patches which do not build:
	http://dpdk.org/ml/archives/dev/2014-August/005050.html
And there was no answer.

[...]
> > +				(1ULL << VHOST_F_LOG_ALL))

Please check if this line is sufficient.
Thanks
  
Long, Thomas June 9, 2015, 4:31 a.m. UTC | #3
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Thursday, June 4, 2015 2:00 PM
> To: Xie, Huawei
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] vhost: enable live migration

> 2015-06-01 04:47, Ouyang, Changchun:
> >  From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Huawei Xie
> > > When we migrate VM, without this feature, qemu will report error :
> > > "migrate: Migration disabled: vhost lacks VHOST_F_LOG_ALL feature".
> > 
> > Is this enough for vhost to support  migrate VM?
> > I remember Claire has another patch, possibly need refer to that patch.

> Indeed, there were some patches which do not build:
> 	http://dpdk.org/ml/archives/dev/2014-August/005050.html
> And there was no answer.

The log name is incorrect in Claire's patch and "CONFIG" needs to replaced with "VHOST_CONFIG". It also only supported migration for vhost_cuse. Claire left the org around the same time and the patch was not picked up



> [...]
> > > +				(1ULL << VHOST_F_LOG_ALL))

> Please check if this line is sufficient.

This should be sufficient to enable migration for vhost-user. 

The previous patch with the CONFIG log fix enables migration for vhost-cuse. The behavior of qemu with vhost_cuse when migrating is to turn on the migration flag before migration regardless of what the backend advertises as being supported and to disable it again once migration has been completed. This is why Claire's patch ignores the VHOST_F_LOG_ALL setting although I don't think this is the right way to implement this.  If the current patch is combined with the vhost_net_ioctl modifications of the original patch then it should enable migration for both vhost-cuse and vhost-user. 

> Thanks
  
Thomas Monjalon June 12, 2015, 3:11 p.m. UTC | #4
2015-05-27 11:01, Huawei Xie:
> When we migrate VM, without this feature, qemu will report error:
> "migrate: Migration disabled: vhost lacks VHOST_F_LOG_ALL feature".
> 
> Signed-off-by: Krishna Murthy  <krishna.j.murthy@intel.com>

Assumed the author is Krishna Murthy (not explicit in the patch).
Applied, thanks.
  

Patch

diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
index 4672e67..fced2ab 100644
--- a/lib/librte_vhost/virtio-net.c
+++ b/lib/librte_vhost/virtio-net.c
@@ -66,7 +66,8 @@  static struct virtio_net_config_ll *ll_root;
 /* Features supported by this lib. */
 #define VHOST_SUPPORTED_FEATURES ((1ULL << VIRTIO_NET_F_MRG_RXBUF) | \
 				(1ULL << VIRTIO_NET_F_CTRL_VQ) | \
-				(1ULL << VIRTIO_NET_F_CTRL_RX))
+				(1ULL << VIRTIO_NET_F_CTRL_RX) | \
+				(1ULL << VHOST_F_LOG_ALL))
 static uint64_t VHOST_FEATURES = VHOST_SUPPORTED_FEATURES;