From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55322) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD6k5-0003dZ-9J for qemu-devel@nongnu.org; Thu, 09 Jul 2015 03:59:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZD6k4-0008C7-IB for qemu-devel@nongnu.org; Thu, 09 Jul 2015 03:59:37 -0400 Received: from mail-wi0-x22f.google.com ([2a00:1450:400c:c05::22f]:32913) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD6k4-0008Bw-BY for qemu-devel@nongnu.org; Thu, 09 Jul 2015 03:59:36 -0400 Received: by wiwl6 with SMTP id l6so10521285wiw.0 for ; Thu, 09 Jul 2015 00:59:35 -0700 (PDT) Sender: Paolo Bonzini References: <1436274549-28826-1-git-send-email-quintela@redhat.com> <1436274549-28826-28-git-send-email-quintela@redhat.com> <20150708191318.GM4117@noname.redhat.com> <559D89AD.4090000@redhat.com> <559DCC2A.1040400@cn.fujitsu.com> From: Paolo Bonzini Message-ID: <559E29E5.5000402@redhat.com> Date: Thu, 9 Jul 2015 09:59:33 +0200 MIME-Version: 1.0 In-Reply-To: <559DCC2A.1040400@cn.fujitsu.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PULL 27/28] migration: protect migration_bitmap List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wen Congyang , Kevin Wolf , Juan Quintela Cc: amit.shah@redhat.com, qemu-devel@nongnu.org, Li Zhijian On 09/07/2015 03:19, Wen Congyang wrote: > Yes, why migration doesn't trigger this problem? We will fix it soon. This should be the fix if someone wants to test it and/or post it: diff --git a/migration/ram.c b/migration/ram.c index 57368e1..8d5a73a 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -1227,9 +1227,9 @@ static int ram_save_complete(QEMUFile *f, void *opaque) flush_compressed_data(f); ram_control_after_iterate(f, RAM_CONTROL_FINISH); - migration_end(); - rcu_read_unlock(); + + migration_end(); qemu_put_be64(f, RAM_SAVE_FLAG_EOS); return 0; You don't see it with migration because the migration thread (and for that matter, _no_ thread except the I/O thread!) is not registered with the RCU subsystem. I'm working on it, but I plan to only fix it in later release candidates. Paolo