[dpdk-dev] [PATCH v3] vhost: improve dirty pages logging performance

Tiwei Bie tiwei.bie at intel.com
Thu May 17 04:04:31 CEST 2018


On Wed, May 16, 2018 at 06:54:23PM +0200, Maxime Coquelin wrote:
> This patch caches all dirty pages logging until the used ring index
> is updated.
> 
> The goal of this optimization is to fix a performance regression
> introduced when the vhost library started to use atomic operations
> to set bits in the shared dirty log map. While the fix was valid
> as previous implementation wasn't safe against concurent accesses,

Typo: concurent

> contention was induced.
> 
> With this patch, during migration, we have:
> 1. Less atomic operations as only a single atomic OR operation
> per 32 or 64 (depending on CPU) pages.
> 2. Less atomic operations as during a burst, the same page will
> be marked dirty only once.
> 3. Less write memory barriers.
> 
> Fixes: 897f13a1f726 ("vhost: make page logging atomic")
> 
> Cc: stable at dpdk.org
> 
> Cc: Tiwei Bie <tiwei.bie at intel.com>
> Suggested-by: Michael S. Tsirkin <mst at redhat.com>
> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>

Apart from the typo,

Reviewed-by: Tiwei Bie <tiwei.bie at intel.com>



More information about the dev mailing list