From nobody Sun Apr 28 11:59:31 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1600502190; cv=none; d=zohomail.com; s=zohoarc; b=Dx+qTPCTQw9Tlsd7cDb+DTFqw3Wy3kVzz6+Za2m9Vz3ZfTWMQ5nKlTJvOoXC34aQB2wXioFoACUou4rk1EbZvalojJ0BM79RjEDHqgLLgLgelNfpKB1mpS9800+d1BE8sCXnwvDDDjEVT9MyeTu5/jNCgugeLapyN8bmn1EZ6qM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600502190; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=8CDI3mAmYbmIXkT1QUWZyurOtSlI23epJ0kTIoQbxJ0=; b=LJmbnI2dgU79K6GdVJRR4GPa8ZRIjTO3eZ8B+HoPWggBChQUTIDz69g19GNXhrYcHwfhkCUU6YJBMEpHosLdTTFAGpDSwGdCSXk6eai4etDSoLSY0dTGAocBDhrp/VGQkbWUqHsrSciH2PqBmShwZrtyjIwwcx2rGel84S5MIdA= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600502190108841.3025466545545; Sat, 19 Sep 2020 00:56:30 -0700 (PDT) Received: from localhost ([::1]:45440 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kJXjQ-0004lW-Kx for importer@patchew.org; Sat, 19 Sep 2020 03:56:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54292) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kJTXj-00029l-2d for qemu-devel@nongnu.org; Fri, 18 Sep 2020 23:28:07 -0400 Received: from mga12.intel.com ([192.55.52.136]:53067) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kJTXg-0007bq-FS for qemu-devel@nongnu.org; Fri, 18 Sep 2020 23:28:06 -0400 Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2020 20:27:58 -0700 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by orsmga003.jf.intel.com with ESMTP; 18 Sep 2020 20:27:56 -0700 IronPort-SDR: xhlcBaM95wlrcXLsJsyxm9c8bU7evrY0a0AqXGM/Umr4GFJl2XfnA3Em40fpDOBztybc+8LkLf AGz6euUHdo5g== X-IronPort-AV: E=McAfee;i="6000,8403,9748"; a="139574088" X-IronPort-AV: E=Sophos;i="5.77,277,1596524400"; d="scan'208";a="139574088" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False IronPort-SDR: 0YEHprWei7MsfjqfQdiJhkzVg3B6cUVg/3fzjiAzlzn9bT8lB51LhsVnjZae5TK+4Uwfyi48+1 cqq3eGlqCptA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,277,1596524400"; d="scan'208";a="303579316" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com Subject: [PATCH 1/3] Optimize seq_sorter function for colo-compare Date: Fri, 18 Sep 2020 23:10:21 -0400 Message-Id: <1600485023-263643-2-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1600485023-263643-1-git-send-email-lei.rao@intel.com> References: <1600485023-263643-1-git-send-email-lei.rao@intel.com> Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.55.52.136; envelope-from=lei.rao@intel.com; helo=mga12.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/18 23:27:59 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sat, 19 Sep 2020 03:55:08 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: leirao , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The seq of tcp has been filled in fill_pkt_tcp_info, it can be used directly here. Signed-off-by: leirao Reviewed-by: Li Zhijian --- net/colo-compare.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index 3a45d64..86980ce 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -196,11 +196,7 @@ static void colo_compare_inconsistency_notify(CompareS= tate *s) =20 static gint seq_sorter(Packet *a, Packet *b, gpointer data) { - struct tcp_hdr *atcp, *btcp; - - atcp =3D (struct tcp_hdr *)(a->transport_header); - btcp =3D (struct tcp_hdr *)(b->transport_header); - return ntohl(atcp->th_seq) - ntohl(btcp->th_seq); + return a->tcp_seq - b->tcp_seq; } =20 static void fill_pkt_tcp_info(void *data, uint32_t *max_ack) --=20 1.8.3.1 From nobody Sun Apr 28 11:59:31 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1600502217; cv=none; d=zohomail.com; s=zohoarc; b=Dldcl23SMNKPSU+zf5sqQfXQSl2wvKIXabfPLHnXZQlKcOzgLX9/FZIAYt/JCiUtsTCrMo4pHRegV+fY/MV51LUZrNWBYE+yyy5CUIIWuTQXQTrTpEIHO3zAh8KnDt1RjRrI8HlCsb8833YKUIh86Gaai+iV1zuJR8+J6ANAIvU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600502217; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=QuRyBvHxhOfWGkQjVpVYVkORf5SMi8dZh241h4toDpM=; b=Enbl2/UTELHo0sm4WGn2P8oZWjCe72JXwi+REpqKJoSpOdyoERrlS6O0ajjU2DZDbC/9JtSA4agpTHg64IErp87RhzaKI9/WExvU6IRjFwwf/WAzWAZA9SBXr4akHKdPLjnAb8FnYDCK3SL4QymE9ngMFwnlNAA7Oa1R1A7Blqc= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600502217354143.84132187294256; Sat, 19 Sep 2020 00:56:57 -0700 (PDT) Received: from localhost ([::1]:46750 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kJXjs-0005IW-3L for importer@patchew.org; Sat, 19 Sep 2020 03:56:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kJTXi-00029e-DX for qemu-devel@nongnu.org; Fri, 18 Sep 2020 23:28:06 -0400 Received: from mga12.intel.com ([192.55.52.136]:53068) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kJTXg-0007c2-2A for qemu-devel@nongnu.org; Fri, 18 Sep 2020 23:28:05 -0400 Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2020 20:28:01 -0700 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by orsmga003.jf.intel.com with ESMTP; 18 Sep 2020 20:27:59 -0700 IronPort-SDR: bWuMZvoMqUAEw9A5XcsUY+PRprRlYBu0uWZ5QmW3wm7AgNBCCHEIbR7aqk5WGF1QdD8QwmrqIY m/I8dRchgF0g== X-IronPort-AV: E=McAfee;i="6000,8403,9748"; a="139574092" X-IronPort-AV: E=Sophos;i="5.77,277,1596524400"; d="scan'208";a="139574092" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False IronPort-SDR: 2FdqkI304e7CtqQiLtK+mIWcuUDYqTHeiBMJPgl/JfUxMGW0tRYAHSm/MqVvzLtJ/WC6Hk6iE1 7j6YWAup978Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,277,1596524400"; d="scan'208";a="303579326" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com Subject: [PATCH 2/3] Reduce the time of checkpoint for COLO Date: Fri, 18 Sep 2020 23:10:22 -0400 Message-Id: <1600485023-263643-3-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1600485023-263643-1-git-send-email-lei.rao@intel.com> References: <1600485023-263643-1-git-send-email-lei.rao@intel.com> Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.55.52.136; envelope-from=lei.rao@intel.com; helo=mga12.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/18 23:27:59 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sat, 19 Sep 2020 03:55:07 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: leirao , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" we should set ram_bulk_stage to false after ram_state_init, otherwise the bitmap will be unused in migration_bitmap_find_dirty. all pages in ram cache will be flushed to the ram of secondary guest for each checkpoint. Signed-off-by: leirao --- migration/ram.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/migration/ram.c b/migration/ram.c index 76d4fee..6a2b6c1 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -3019,6 +3019,17 @@ static void decompress_data_with_multi_threads(QEMUF= ile *f, } =20 /* + * we must set ram_bulk_stage to fasle, otherwise in + * migation_bitmap_find_dirty the bitmap will be unused and + * all the pages in ram cache wil be flushed to the ram of + * secondary VM. + */ +static void colo_set_ram_state(RAMState *rsp) +{ + rsp->ram_bulk_stage =3D false; +} + +/* * colo cache: this is for secondary VM, we cache the whole * memory of the secondary VM, it is need to hold the global lock * to call this helper. @@ -3062,6 +3073,7 @@ int colo_init_ram_cache(void) } =20 ram_state_init(&ram_state); + colo_set_ram_state(ram_state); return 0; } =20 --=20 1.8.3.1 From nobody Sun Apr 28 11:59:31 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1600502293; cv=none; d=zohomail.com; s=zohoarc; b=e8bHQw0yZ9zN8HRssy5yoLCnAtzV2PhsmlMARCCWIkhPdzF3LdQV/xCA9/iShz6A/jYQvzOHGMSxO+6i3ce5nmxKWz+irEqChdbQd+EkxRg9Z76Dvc5SLc/5wkB7Bt0S+/O59TZvhcKtLdE3DNFd7KiJWusoyKocst6/XDE0DEU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1600502293; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=K3ZjbmtB8u4hZVhMijqlKgV0Q7c725hBKJ9SEow0JJw=; b=NGK6kGi7BCy/tk1NChdkZQT1MNVlTZFVpE56fUiC9FIKWlApKwi490EBpphze134IbYnI7syLfvGzNHzu39ZD2bq7Yn4S2xSO1V9hwj330D7TNnkq2CJOf5f7r4mBjDgldEXoUGqG2UNIpsHNcKEARqANckMJStabNs4QHj1mLg= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1600502293926573.7433390887123; Sat, 19 Sep 2020 00:58:13 -0700 (PDT) Received: from localhost ([::1]:50214 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kJXl6-0006io-Ks for importer@patchew.org; Sat, 19 Sep 2020 03:58:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54310) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kJTXj-0002A2-Vf for qemu-devel@nongnu.org; Fri, 18 Sep 2020 23:28:07 -0400 Received: from mga12.intel.com ([192.55.52.136]:53068) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kJTXi-0007c2-6w for qemu-devel@nongnu.org; Fri, 18 Sep 2020 23:28:07 -0400 Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2020 20:28:04 -0700 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by orsmga003.jf.intel.com with ESMTP; 18 Sep 2020 20:28:02 -0700 IronPort-SDR: D6+qoVcVp3TS7XLhj08kRYyg5fxFoqEEYWln7cnMRk+p9H+Ga4ZUI7VPu9WWIDqpVF4TevHAty rvyv4baioOWw== X-IronPort-AV: E=McAfee;i="6000,8403,9748"; a="139574095" X-IronPort-AV: E=Sophos;i="5.77,277,1596524400"; d="scan'208";a="139574095" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False IronPort-SDR: gFc/VIGXIb9rGDnpQDn9uowc6hCDC58XOX4qeePT8WRgd8EXW2SbFGaeXspjhOo/a+lcHN5naa WPsMTV2G84sA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,277,1596524400"; d="scan'208";a="303579340" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com Subject: [PATCH 3/3] Fix the qemu crash when guest shutdown in COLO mode Date: Fri, 18 Sep 2020 23:10:23 -0400 Message-Id: <1600485023-263643-4-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1600485023-263643-1-git-send-email-lei.rao@intel.com> References: <1600485023-263643-1-git-send-email-lei.rao@intel.com> Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.55.52.136; envelope-from=lei.rao@intel.com; helo=mga12.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/18 23:27:59 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Sat, 19 Sep 2020 03:55:13 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: leirao , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" In COLO mode, if the startup parameters of QEMU include "no-shutdown", QEMU will crash when the guest shutdown. The root cause is when the guest shutdown, the state of VM will switch COLO to SHUTDOWN. When do checkpoint again, the state will be changed to COLO. But the state switch is undefined in runstate_transitions_def, we should add it. This patch fixes the following: qemu-system-x86_64: invalid runstate transition: 'shutdown' -> 'colo' Aborted Signed-off-by: leirao --- softmmu/vl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/softmmu/vl.c b/softmmu/vl.c index f7b1034..c21606c 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -631,6 +631,7 @@ static const RunStateTransition runstate_transitions_de= f[] =3D { { RUN_STATE_SHUTDOWN, RUN_STATE_PAUSED }, { RUN_STATE_SHUTDOWN, RUN_STATE_FINISH_MIGRATE }, { RUN_STATE_SHUTDOWN, RUN_STATE_PRELAUNCH }, + { RUN_STATE_SHUTDOWN, RUN_STATE_COLO }, =20 { RUN_STATE_DEBUG, RUN_STATE_SUSPENDED }, { RUN_STATE_RUNNING, RUN_STATE_SUSPENDED }, --=20 1.8.3.1