[dpdk-stable] [PATCH v16.11 LTS] vhost: avoid concurrency when logging dirty pages

Maxime Coquelin maxime.coquelin at redhat.com
Wed Apr 18 17:10:49 CEST 2018



On 04/18/2018 09:24 AM, Maxime Coquelin wrote:
> [ backported from upstream commit 394313fff39d0f994325c47f7eab39daf5dc9e11 ]
> 
> This patch aims at fixing a migration performance regression
> faced since atomic operation is used to log pages as dirty when
> doing live migration.
> 
> Instead of setting a single bit by doing an atomic read-modify-write
> operation to log a page as dirty, this patch write 0xFF to the
> corresponding byte, and so logs 8 page as dirty.
> 
> The advantage is that it avoids concurrent atomic operations by
> multiple PMD threads, the drawback is that some clean pages are
> marked as dirty and so are transferred twice.
> 
> Fixes: 6bf02ab821fb ("vhost: make page logging atomic")
> 
> Cc: stable at dpdk.org
> 
> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> Reviewed-by: Jianfeng Tan <jianfeng.tan at intel.com>
> 
> Conflicts:
>          lib/librte_vhost/vhost.h
> ---
> 
> Hi Luca,
> 
> This patch is backported from upstream master,
> I propose it as the backport requires some conflicts to be fixed.
> 
> Cheers,
> Maxime
> 

Hi Luca,

Please don't apply the patch, I have just been made aware by QE that
migration with more than one queue pair never converges, so I need to
rework it.

Cheers,
Maxime


More information about the stable mailing list