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:[email protected] Cc: Tiwei Bie<[email protected]> Suggested-by: Michael S. Tsirkin<[email protected]> Signed-off-by: Maxime Coquelin<[email protected]>
I missed to add your: Reviewed-by: Tiwei Bie <[email protected]> that you replied to v3, and since the changes in v4 were suggested by you, I guess it still applies. Cheers, Maxime

