From patchwork Fri Oct 16 05:51:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840905 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5E6EA14B2 for ; Fri, 16 Oct 2020 05:55:41 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EDA2C207DE for ; Fri, 16 Oct 2020 05:55:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EDA2C207DE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34546 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTIiJ-0007ym-I2 for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:55:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44036) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhR-0006HU-DZ for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:45 -0400 Received: from mga01.intel.com ([192.55.52.88]:36619) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhO-0005Cz-CU for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:45 -0400 IronPort-SDR: eAzeINNP7f2J+vSO7WJpbBB/BRelkIKhjj3wjfZtHyw/Tm6lxwaldX/mZz9ofJKH15ONazcC1o 8lwItRCM6oHA== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094641" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094641" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:37 -0700 IronPort-SDR: bSwQKBqM/A2dKCkbqp63ybPOGrlo2PR4cS47lane+U/nv5Id7yMncSx7UuUOFABc15N2qQLWxi hSG/yIFjuDKw== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572802" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:35 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 01/10] net/filter-rewriter: destroy g_hash_table in colo_rewriter_cleanup Date: Fri, 16 Oct 2020 13:51:59 +0800 Message-Id: <20201016055208.7969-2-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Pan Nengyuan , Zhang Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Pan Nengyuan s->connection_track_table forgot to destroy in colo_rewriter_cleanup. Fix it. Reported-by: Euler Robot Signed-off-by: Pan Nengyuan Signed-off-by: Zhang Chen Reviewed-by: Zhang Chen Reviewed-by: Li Qiang --- net/filter-rewriter.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c index dc3c27a489..e063a818b7 100644 --- a/net/filter-rewriter.c +++ b/net/filter-rewriter.c @@ -381,6 +381,8 @@ static void colo_rewriter_cleanup(NetFilterState *nf) filter_rewriter_flush(nf); g_free(s->incoming_queue); } + + g_hash_table_destroy(s->connection_track_table); } static void colo_rewriter_setup(NetFilterState *nf, Error **errp) From patchwork Fri Oct 16 05:52:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840903 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5BEF514B5 for ; Fri, 16 Oct 2020 05:55:40 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E1AF8207DE for ; Fri, 16 Oct 2020 05:55:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E1AF8207DE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:34374 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTIiI-0007uf-DX for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:55:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44018) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhQ-0006HK-PE for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:44 -0400 Received: from mga01.intel.com ([192.55.52.88]:36621) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhO-0005D7-5W for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:43 -0400 IronPort-SDR: oLBUoeeDuunggHrEOXm1toV9lzSbPDZi1xK+Kr8W7bF7XYryxTT0cD0kuHwKpLsPSe000zwtB/ Qfc8Xfj7T68A== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094646" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094646" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:39 -0700 IronPort-SDR: gM7UHYQw3msv/OULIYutLuWIWz5cJDrA35eAK2skMnJ81v5nBcXjRr2mbrIqsFGaz5kLXFi4jZ WL/kT7dmA6wA== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572811" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:37 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 02/10] Optimize seq_sorter function for colo-compare Date: Fri, 16 Oct 2020 13:52:00 +0800 Message-Id: <20201016055208.7969-3-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , "Rao, Lei" , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: "Rao, Lei" The seq of tcp has been filled in fill_pkt_tcp_info, it can be used directly here. Signed-off-by: Lei Rao Signed-off-by: Zhang Chen Reviewed-by: Li Zhijian Reviewed-by: Zhang Chen --- net/colo-compare.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index 3a45d64175..a35c10fb59 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -194,13 +194,10 @@ static void colo_compare_inconsistency_notify(CompareState *s) } } +/* Use restricted to colo_insert_packet() */ static gint seq_sorter(Packet *a, Packet *b, gpointer data) { - struct tcp_hdr *atcp, *btcp; - - atcp = (struct tcp_hdr *)(a->transport_header); - btcp = (struct tcp_hdr *)(b->transport_header); - return ntohl(atcp->th_seq) - ntohl(btcp->th_seq); + return a->tcp_seq - b->tcp_seq; } static void fill_pkt_tcp_info(void *data, uint32_t *max_ack) From patchwork Fri Oct 16 05:52:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840911 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A02F514B2 for ; Fri, 16 Oct 2020 05:57:48 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 42295207DE for ; Fri, 16 Oct 2020 05:57:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 42295207DE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:42072 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTIkN-0002cD-8D for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:57:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44050) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhS-0006Hw-95 for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:46 -0400 Received: from mga01.intel.com ([192.55.52.88]:36621) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhQ-0005D7-Hq for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:45 -0400 IronPort-SDR: EiLeu08svaTKttaWpyXwZNQbWs7BPUpReZW7U1XsEZshl2qkNiM0EjJSpx7CzMJgg/U2MXIpOF h5CGBlXxH76w== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094650" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094650" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:41 -0700 IronPort-SDR: o2vAq4Oy1hUXMqKwecjIGye4ios++jGlaZmqHk3fD1FAMf03KhgYOTtoFpnJB8NaYrf7yaJdg3 nnmuRZpqlRyA== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572818" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:40 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 03/10] Reduce the time of checkpoint for COLO Date: Fri, 16 Oct 2020 13:52:01 +0800 Message-Id: <20201016055208.7969-4-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , "Rao, Lei" , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: "Rao, Lei" 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: Lei Rao Signed-off-by: Derek Su Signed-off-by: Zhang Chen Reviewed-by: Li Zhijian Reviewed-by: Zhang Chen --- migration/ram.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/migration/ram.c b/migration/ram.c index 433489d633..9cfac3d9ba 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -3009,6 +3009,18 @@ static void decompress_data_with_multi_threads(QEMUFile *f, qemu_mutex_unlock(&decomp_done_lock); } + /* + * we must set ram_bulk_stage to false, 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_init_ram_state(void) +{ + ram_state_init(&ram_state); + ram_state->ram_bulk_stage = 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 @@ -3052,7 +3064,7 @@ int colo_init_ram_cache(void) } } - ram_state_init(&ram_state); + colo_init_ram_state(); return 0; } From patchwork Fri Oct 16 05:52:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840913 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BED6D14B5 for ; Fri, 16 Oct 2020 05:57:48 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7B13E207F7 for ; Fri, 16 Oct 2020 05:57:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7B13E207F7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:42070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTIkN-0002cB-Fq for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:57:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhT-0006JC-48 for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:47 -0400 Received: from mga01.intel.com ([192.55.52.88]:36617) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhR-0005C7-Hk for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:46 -0400 IronPort-SDR: qhCR6FnwBL6wZT3EqVwYNoZUS4HtPiwbmauTbIMQMhLeJlkn1/dYUTVzPrbEj+ka6eb75Gr45p GTGxtlc8We+A== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094655" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094655" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:44 -0700 IronPort-SDR: 6ZTsQoFIb753XQyv7gYci9aFzLYF7fHKUBD6MnQmKhUun16t5dF73QHA8aX0cey3YrdbYYa+h7 wbpyG7A8qKvg== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572829" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:42 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 04/10] Fix the qemu crash when guest shutdown in COLO mode Date: Fri, 16 Oct 2020 13:52:02 +0800 Message-Id: <20201016055208.7969-5-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , "Rao, Lei" , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: "Rao, Lei" 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: Lei Rao Signed-off-by: Zhang Chen Reviewed-by: Zhang Chen --- softmmu/vl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/softmmu/vl.c b/softmmu/vl.c index 5a11a62f78..bafe7c5b70 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -632,6 +632,7 @@ static const RunStateTransition runstate_transitions_def[] = { { 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 }, { RUN_STATE_DEBUG, RUN_STATE_SUSPENDED }, { RUN_STATE_RUNNING, RUN_STATE_SUSPENDED }, From patchwork Fri Oct 16 05:52:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840923 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8112914B2 for ; Fri, 16 Oct 2020 05:59:47 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 40FA9207DE for ; Fri, 16 Oct 2020 05:59:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 40FA9207DE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:48486 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTImI-0005EA-9l for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:59:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44066) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhW-0006Nv-JP for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:51 -0400 Received: from mga01.intel.com ([192.55.52.88]:36617) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhT-0005C7-E5 for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:50 -0400 IronPort-SDR: iFv7HZAx6PX3hHWitxscGwBYna7H/iqgm20S8Oou3QkdU5o8EIxxgQSJdk0kpilL44JivGC7Em XyGNjyjg/XyA== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094657" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094657" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:46 -0700 IronPort-SDR: 5RZ7Tg/NvEoyR6F/DguIFbbNY9bFf3aNHWlCjXW9sIhtX4kd3j80cLqoO8wqLywT0W5usQnFJn g1GnHZIotLGQ== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572835" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:44 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 05/10] colo-compare: fix missing compare_seq initialization Date: Fri, 16 Oct 2020 13:52:03 +0800 Message-Id: <20201016055208.7969-6-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> MIME-Version: 1.0 Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Li Zhijian , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Li Zhijian Fixes: f449c9e549c ("colo: compare the packet based on the tcp sequence number") Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Reviewed-by: Zhang Chen Reviewed-by: Philippe Mathieu-Daudé --- net/colo.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/net/colo.c b/net/colo.c index a6c66d829a..ef00609848 100644 --- a/net/colo.c +++ b/net/colo.c @@ -133,14 +133,11 @@ void reverse_connection_key(ConnectionKey *key) Connection *connection_new(ConnectionKey *key) { - Connection *conn = g_slice_new(Connection); + Connection *conn = g_slice_new0(Connection); conn->ip_proto = key->ip_proto; conn->processing = false; - conn->offset = 0; conn->tcp_state = TCPS_CLOSED; - conn->pack = 0; - conn->sack = 0; g_queue_init(&conn->primary_list); g_queue_init(&conn->secondary_list); From patchwork Fri Oct 16 05:52:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840915 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 47FDE17E6 for ; Fri, 16 Oct 2020 05:57:49 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 02DEB207DE for ; Fri, 16 Oct 2020 05:57:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 02DEB207DE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:42136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTIkN-0002dh-Qb for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:57:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44088) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhY-0006Ow-9b for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:52 -0400 Received: from mga01.intel.com ([192.55.52.88]:36632) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhW-0005GT-Ge for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:51 -0400 IronPort-SDR: D2wDGU1Bb7Lm3TaBHYjQhlUPzdtMgBhVr3JTb3unvjHs7qrFvhEIFrGN0W1mXOYk3Lo8ce6DZG 5kr3lQRY83Gw== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094660" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094660" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:48 -0700 IronPort-SDR: oJXi2SHz6/EuetqkrfUnkUy7Hm/9H6gfXxDfDJYeYZvCiyOe2xbXo+MzDqRhvrxVTY638TFZzX JDeU4wixV2ww== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572840" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:46 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 06/10] colo-compare: check mark in mutual exclusion Date: Fri, 16 Oct 2020 13:52:04 +0800 Message-Id: <20201016055208.7969-7-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Li Zhijian , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Li Zhijian Signed-off-by: Li Zhijian Signed-off-by: Zhang Chen Reviewed-by: Zhang Chen --- net/colo-compare.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index a35c10fb59..8d476bbd99 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -477,13 +477,11 @@ sec: colo_release_primary_pkt(s, ppkt); g_queue_push_head(&conn->secondary_list, spkt); goto pri; - } - if (mark == COLO_COMPARE_FREE_SECONDARY) { + } else if (mark == COLO_COMPARE_FREE_SECONDARY) { conn->compare_seq = spkt->seq_end; packet_destroy(spkt, NULL); goto sec; - } - if (mark == (COLO_COMPARE_FREE_PRIMARY | COLO_COMPARE_FREE_SECONDARY)) { + } else if (mark == (COLO_COMPARE_FREE_PRIMARY | COLO_COMPARE_FREE_SECONDARY)) { conn->compare_seq = ppkt->seq_end; colo_release_primary_pkt(s, ppkt); packet_destroy(spkt, NULL); From patchwork Fri Oct 16 05:52:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840909 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 302AC14B5 for ; Fri, 16 Oct 2020 05:55:53 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CE5F1207DE for ; Fri, 16 Oct 2020 05:55:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CE5F1207DE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:35076 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTIiV-0008DD-EJ for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:55:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44090) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhY-0006Pa-Hc for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:52 -0400 Received: from mga01.intel.com ([192.55.52.88]:36617) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhW-0005C7-Su for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:52 -0400 IronPort-SDR: Q8xyFJTqyNP/U079vtury32bbr5mAb71Z7LjvA9gteNGaGsa1LeI76jsaBu5pW72ING9R+m/Nx WsXlN4UijyIQ== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094668" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094668" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:49 -0700 IronPort-SDR: yAeH5A2Yk5CgoLsQNdUSXVZziZJqNw81s74aJGPJmS+DWfYa/LZdH+Y+x/wtfAMeQD2Nbhi3Jo L+bUbNfoiLoQ== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572845" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:48 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 07/10] net/colo-compare.c: Fix compare_timeout format issue Date: Fri, 16 Oct 2020 13:52:05 +0800 Message-Id: <20201016055208.7969-8-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> MIME-Version: 1.0 Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Zhang Chen This parameter need compare with the return of qemu_clock_get_ms(), it is uint64_t. So we need fix this issue here. Fixes: 9cc43c94b31 ("net/colo-compare.c: Expose "compare_timeout" to users") Reported-by: Derek Su Signed-off-by: Zhang Chen Reviewed-by: Li Zhijian Reviewed-by: Philippe Mathieu-Daudé --- net/colo-compare.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index 8d476bbd99..76b83a9ca0 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -120,7 +120,7 @@ struct CompareState { SendCo out_sendco; SendCo notify_sendco; bool vnet_hdr; - uint32_t compare_timeout; + uint64_t compare_timeout; uint32_t expired_scan_cycle; /* @@ -1076,9 +1076,9 @@ static void compare_get_timeout(Object *obj, Visitor *v, Error **errp) { CompareState *s = COLO_COMPARE(obj); - uint32_t value = s->compare_timeout; + uint64_t value = s->compare_timeout; - visit_type_uint32(v, name, &value, errp); + visit_type_uint64(v, name, &value, errp); } static void compare_set_timeout(Object *obj, Visitor *v, @@ -1141,9 +1141,9 @@ static void set_max_queue_size(Object *obj, Visitor *v, Error **errp) { Error *local_err = NULL; - uint32_t value; + uint64_t value; - visit_type_uint32(v, name, &value, &local_err); + visit_type_uint64(v, name, &value, &local_err); if (local_err) { goto out; } @@ -1391,7 +1391,7 @@ static void colo_compare_init(Object *obj) object_property_add_str(obj, "notify_dev", compare_get_notify_dev, compare_set_notify_dev); - object_property_add(obj, "compare_timeout", "uint32", + object_property_add(obj, "compare_timeout", "uint64", compare_get_timeout, compare_set_timeout, NULL, NULL); From patchwork Fri Oct 16 05:52:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840919 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9FE9614B2 for ; Fri, 16 Oct 2020 05:59:45 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 634C6207DE for ; Fri, 16 Oct 2020 05:59:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 634C6207DE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:48398 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTImG-0005Ac-1L for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:59:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44102) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhb-0006T6-KT for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:55 -0400 Received: from mga01.intel.com ([192.55.52.88]:36617) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhY-0005C7-Rj for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:55 -0400 IronPort-SDR: 9+EeAK4TpHfpBdWsFnnpz5+pCj4Tf7/MZf8qq5ERN9apJLr6KZ2jEpQiykCmGjHb65hm1NxtCE hjst1FNKz/AQ== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094672" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094672" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:51 -0700 IronPort-SDR: jLsYW2IXI9kbNuT30BT4XRmFWsiKrCWx5Gxs/IRXrEcBx7UcH76Al+1DVTATS6Y9oq55y2ToQZ GAsILxeh4FqQ== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572855" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:50 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 08/10] net/colo-compare.c: Change the timer clock type Date: Fri, 16 Oct 2020 13:52:06 +0800 Message-Id: <20201016055208.7969-9-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> MIME-Version: 1.0 Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Zhang Chen The virtual clock only runs during the emulation. It stops when the virtual machine is stopped. The host clock should be used for device models that emulate accurate real time sources. It will continue to run when the virtual machine is suspended. COLO need to know the host time here. Fixes: dd321ecfc2e ("colo-compare: Use IOThread to Check old packet regularly and Process packets of the primary") Reported-by: Derek Su Signed-off-by: Zhang Chen Reviewed-by: Li Zhijian Reviewed-by: Philippe Mathieu-Daudé --- net/colo-compare.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index 76b83a9ca0..1263203e7f 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -900,7 +900,7 @@ static void check_old_packet_regular(void *opaque) /* if have old packet we will notify checkpoint */ colo_old_packet_check(s); - timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + + timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) + s->expired_scan_cycle); } @@ -934,10 +934,10 @@ static void colo_compare_timer_init(CompareState *s) { AioContext *ctx = iothread_get_aio_context(s->iothread); - s->packet_check_timer = aio_timer_new(ctx, QEMU_CLOCK_VIRTUAL, + s->packet_check_timer = aio_timer_new(ctx, QEMU_CLOCK_HOST, SCALE_MS, check_old_packet_regular, s); - timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + + timer_mod(s->packet_check_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) + s->expired_scan_cycle); } From patchwork Fri Oct 16 05:52:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840921 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D317B14B5 for ; Fri, 16 Oct 2020 05:59:45 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 82DDE207F7 for ; Fri, 16 Oct 2020 05:59:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 82DDE207F7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:48408 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTImG-0005Ay-GS for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 01:59:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44120) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhd-0006Ub-Em for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:57 -0400 Received: from mga01.intel.com ([192.55.52.88]:36641) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhb-0005IO-JY for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:57 -0400 IronPort-SDR: FQTV2fXCtT414RUlfjyiuiJc/qAO6QXP92k0gbKe4Jmx8ldb9WmOk6jso0fHKtYF+aK1zJedzv jkULA8uJi2zQ== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094675" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094675" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:54 -0700 IronPort-SDR: cjWQPdLr8scN6dRxW2Gy8Y+otH8YJ+4DWoZvuFq2EetuAWjdbZjxGauEKsh1c/w3+iBBWgMMuM kBI8GOUcJJiQ== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572865" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:51 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 09/10] net/colo-compare.c: Add secondary old packet detection Date: Fri, 16 Oct 2020 13:52:07 +0800 Message-Id: <20201016055208.7969-10-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Zhang Chen Detect queued secondary packet to sync VM state in time. Signed-off-by: Zhang Chen Reviewed-by: Li Zhijian --- net/colo-compare.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index 1263203e7f..0c87fd9e33 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -636,19 +636,26 @@ void colo_compare_unregister_notifier(Notifier *notify) static int colo_old_packet_check_one_conn(Connection *conn, CompareState *s) { - GList *result = NULL; - - result = g_queue_find_custom(&conn->primary_list, - &s->compare_timeout, - (GCompareFunc)colo_old_packet_check_one); + if (!g_queue_is_empty(&conn->primary_list)) { + if (g_queue_find_custom(&conn->primary_list, + &s->compare_timeout, + (GCompareFunc)colo_old_packet_check_one)) + goto out; + } - if (result) { - /* Do checkpoint will flush old packet */ - colo_compare_inconsistency_notify(s); - return 0; + if (!g_queue_is_empty(&conn->secondary_list)) { + if (g_queue_find_custom(&conn->secondary_list, + &s->compare_timeout, + (GCompareFunc)colo_old_packet_check_one)) + goto out; } return 1; + +out: + /* Do checkpoint will flush old packet */ + colo_compare_inconsistency_notify(s); + return 0; } /* From patchwork Fri Oct 16 05:52:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhang Chen X-Patchwork-Id: 11840929 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E5BA614B5 for ; Fri, 16 Oct 2020 06:02:59 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 956A1207C4 for ; Fri, 16 Oct 2020 06:02:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 956A1207C4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:54526 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kTIpO-00085o-G8 for patchwork-qemu-devel@patchwork.kernel.org; Fri, 16 Oct 2020 02:02:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44128) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhf-0006Vy-9j for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:59 -0400 Received: from mga01.intel.com ([192.55.52.88]:36617) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kTIhc-0005C7-QZ for qemu-devel@nongnu.org; Fri, 16 Oct 2020 01:54:58 -0400 IronPort-SDR: V/9QeNkcf4ecBV/F1v3snN1GDLfMvPHw/D8v8h4kG8Qf0D34xN+PFzgFYQJzcWSDFlApelfN9e qIeBav0sNKKg== X-IronPort-AV: E=McAfee;i="6000,8403,9775"; a="184094679" X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="184094679" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:55 -0700 IronPort-SDR: hpHyIrnXq9YyAgMkOSv9ez7tHdDO0t0at+K/Cxb1BL5ajsb8vUTv+rLspkYwv9nNlNtx+7Igud nlOxt1/cAWVQ== X-IronPort-AV: E=Sophos;i="5.77,381,1596524400"; d="scan'208";a="464572875" Received: from unknown (HELO localhost.localdomain) ([10.239.13.19]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Oct 2020 22:54:53 -0700 From: Zhang Chen To: Jason Wang , qemu-dev Subject: [PATCH V2 10/10] net/colo-compare.c: Increase default queued packet scan frequency Date: Fri, 16 Oct 2020 13:52:08 +0800 Message-Id: <20201016055208.7969-11-chen.zhang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201016055208.7969-1-chen.zhang@intel.com> References: <20201016055208.7969-1-chen.zhang@intel.com> Received-SPF: pass client-ip=192.55.52.88; envelope-from=chen.zhang@intel.com; helo=mga01.intel.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/16 01:54:36 X-ACL-Warn: Detected OS = FreeBSD 9.x or newer [fuzzy] X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, FROM_ADDR_WS=2.996, FROM_WSP_TRAIL=1, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: Derek Su , Zhang Chen , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Zhang Chen Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Zhang Chen In my test, use this default parameter looks better. Signed-off-by: Zhang Chen --- net/colo-compare.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index 0c87fd9e33..337025b44f 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -52,7 +52,7 @@ static NotifierList colo_compare_notifiers = #define COLO_COMPARE_FREE_PRIMARY 0x01 #define COLO_COMPARE_FREE_SECONDARY 0x02 -#define REGULAR_PACKET_CHECK_MS 3000 +#define REGULAR_PACKET_CHECK_MS 1000 #define DEFAULT_TIME_OUT_MS 3000 /* #define DEBUG_COLO_PACKETS */