From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Xu Subject: Re: [PATCH v2 6/8] migration: move handle of zero page to the thread Date: Mon, 23 Jul 2018 17:40:21 +0800 Message-ID: <20180723094021.GN2491@xz-mi> References: <20180719121520.30026-1-xiaoguangrong@tencent.com> <20180719121520.30026-7-xiaoguangrong@tencent.com> <20180723050325.GF2491@xz-mi> <20180723082838.GJ2491@xz-mi> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Cc: kvm@vger.kernel.org, mst@redhat.com, mtosatti@redhat.com, Xiao Guangrong , dgilbert@redhat.com, qemu-devel@nongnu.org, wei.w.wang@intel.com, jiang.biao2@zte.com.cn, pbonzini@redhat.com To: Xiao Guangrong Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel2=m.gmane.org@nongnu.org Sender: "Qemu-devel" List-Id: kvm.vger.kernel.org On Mon, Jul 23, 2018 at 04:44:49PM +0800, Xiao Guangrong wrote: [...] > > > > > > However, it is not safe to do ram_release_pages in the thread as it's > > > not protected it multithreads. Fortunately, compression will be disabled > > > if it switches to post-copy, so i preferred to keep current behavior and > > > deferred to fix it after this patchset has been merged. > > > > Do you mean ram_release_pages() is not thread-safe? Why? I didn't > > notice it before but I feel like it is safe. > > bitmap_clear() called in the function is not safe. Yeah, and the funny thing is that I don't think ram_release_pages() should even touch the receivedmap... It's possible that the release-ram feature for postcopy is broken. Never mind on that. I'll post a patch to fix it, then I think the ram_release_pages() will be thread safe. Then this patch shouldn't be affected and it should be fine after that fix. Regards, -- Peter Xu