vhost: fix missing increment of log cache count

Message ID 20180615134846.11641-1-maxime.coquelin@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Maxime Coquelin
Headers
Series vhost: fix missing increment of log cache count |

Checks

Context Check Description
ci/Intel-compilation success Compilation OK

Commit Message

Maxime Coquelin June 15, 2018, 1:48 p.m. UTC
  The log_cache_nb_elem was never incremented, resulting
in all dirty pages to be missed during live migration.

Fixes: c16915b87109 ("vhost: improve dirty pages logging performance")
Cc: stable@dpdk.org

Reported-by: Peng He <xnhp0320@icloud.com>
Cc: Ilya Maximets <i.maximets@samsung.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/vhost.h | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Ilya Maximets June 15, 2018, 3:48 p.m. UTC | #1
On 15.06.2018 16:48, Maxime Coquelin wrote:
> The log_cache_nb_elem was never incremented, resulting
> in all dirty pages to be missed during live migration.
> 
> Fixes: c16915b87109 ("vhost: improve dirty pages logging performance")
> Cc: stable@dpdk.org
> 
> Reported-by: Peng He <xnhp0320@icloud.com>
> Cc: Ilya Maximets <i.maximets@samsung.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
>  lib/librte_vhost/vhost.h | 1 +
>  1 file changed, 1 insertion(+)

LGTM,
Acked-by: Ilya Maximets <i.maximets@samsung.com>


> 
> diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
> index 528e01c8f..786a74f64 100644
> --- a/lib/librte_vhost/vhost.h
> +++ b/lib/librte_vhost/vhost.h
> @@ -429,6 +429,7 @@ vhost_log_cache_page(struct virtio_net *dev, struct vhost_virtqueue *vq,
>  
>  	vq->log_cache[i].offset = offset;
>  	vq->log_cache[i].val = (1UL << bit_nr);
> +	vq->log_cache_nb_elem++;
>  }
>  
>  static __rte_always_inline void
>
  
Tiwei Bie June 18, 2018, 3:22 a.m. UTC | #2
On Fri, Jun 15, 2018 at 03:48:46PM +0200, Maxime Coquelin wrote:
> The log_cache_nb_elem was never incremented, resulting
> in all dirty pages to be missed during live migration.
> 
> Fixes: c16915b87109 ("vhost: improve dirty pages logging performance")
> Cc: stable@dpdk.org
> 
> Reported-by: Peng He <xnhp0320@icloud.com>
> Cc: Ilya Maximets <i.maximets@samsung.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
> ---
>  lib/librte_vhost/vhost.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
> index 528e01c8f..786a74f64 100644
> --- a/lib/librte_vhost/vhost.h
> +++ b/lib/librte_vhost/vhost.h
> @@ -429,6 +429,7 @@ vhost_log_cache_page(struct virtio_net *dev, struct vhost_virtqueue *vq,
>  
>  	vq->log_cache[i].offset = offset;
>  	vq->log_cache[i].val = (1UL << bit_nr);
> +	vq->log_cache_nb_elem++;
>  }
>  
>  static __rte_always_inline void
> -- 
> 2.14.3
> 

Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
  
Maxime Coquelin June 23, 2018, 6:52 a.m. UTC | #3
On 06/15/2018 03:48 PM, Maxime Coquelin wrote:
> The log_cache_nb_elem was never incremented, resulting
> in all dirty pages to be missed during live migration.
> 
> Fixes: c16915b87109 ("vhost: improve dirty pages logging performance")
> Cc:stable@dpdk.org
> 
> Reported-by: Peng He<xnhp0320@icloud.com>
> Cc: Ilya Maximets<i.maximets@samsung.com>
> Signed-off-by: Maxime Coquelin<maxime.coquelin@redhat.com>
> ---
>   lib/librte_vhost/vhost.h | 1 +
>   1 file changed, 1 insertion(+)

Applied to dpdk-next-virtio/master

Maxime
  

Patch

diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
index 528e01c8f..786a74f64 100644
--- a/lib/librte_vhost/vhost.h
+++ b/lib/librte_vhost/vhost.h
@@ -429,6 +429,7 @@  vhost_log_cache_page(struct virtio_net *dev, struct vhost_virtqueue *vq,
 
 	vq->log_cache[i].offset = offset;
 	vq->log_cache[i].val = (1UL << bit_nr);
+	vq->log_cache_nb_elem++;
 }
 
 static __rte_always_inline void