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

Ferruh Yigit ferruh.yigit at intel.com
Thu May 17 14:33:57 CEST 2018


On 5/17/2018 1:01 PM, Maxime Coquelin wrote:
> Hi Tiwei,
> 
> On 05/17/2018 01:44 PM, 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 concurrent accesses,
>> 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>
> 
> I missed to add your:
> Reviewed-by: Tiwei Bie <tiwei.bie at intel.com>

Applied to dpdk-next-net/master, thanks.


More information about the dev mailing list