From nobody Sat May 18 20:37:10 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=1615526804; cv=none; d=zohomail.com; s=zohoarc; b=CQ73Vi0NFqBYM1v9pO+pl4f5jLTbU/Iqia+r8L9l9hRbXRzY8WxEmIfkeZ6aGs/9KlCuZUf8/bH2WmuzFU+FVYsSJaCpOc+wajl1Ih1J4SXH8mAPaNKC5fTl4yfJHjKAESgEXMiqvxrKuSHfwJS+piUpfHN028R8zFBKqPBDV50= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615526804; 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=N4kWczHq/2B4NDmJZGQftiARGO8sUQbOP4tcGGR1NC0=; b=d3vRwCyWT2+kf+lBOFiYmfce+fS4jxCsp7fzAnP5WYGYYz2//ImvlauHveppfRbVtet0p1SflBVvbSmNH4EM+bca4qeA8SnC7RDdz8ov2bcesI7bTgs23JusepQFnRkTTrP7f2RAgxevwWBKvXme4LVL7nuynVCF+zgxglwExiI= 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 1615526804531336.98791507104056; Thu, 11 Mar 2021 21:26:44 -0800 (PST) Received: from localhost ([::1]:34532 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaJu-0006FC-To for importer@patchew.org; Fri, 12 Mar 2021 00:26:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51528) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIU-0004kJ-AZ for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:14 -0500 Received: from mga03.intel.com ([134.134.136.65]:6476) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIS-0006YQ-5s for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:13 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:07 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:05 -0800 IronPort-SDR: bsNVvPymLeDmpDeJ+il406H3RBIxAxbBI7Ndsh+T+tTgS9Obaa3qMW41FVznW3CV4iPVUPlBkF 0cgMw5ULNpnA== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="188827050" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="188827050" IronPort-SDR: zpuqn1BgI8ARSUUDhLbgJYE9JpV3O8NoADF/EqXedKVN+jKaqEYhXngJ0vmY2u11ODkFocHfYE TO5JhsqAsWZw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481886" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 01/10] Remove some duplicate trace code. Date: Fri, 12 Mar 2021 13:02:54 +0800 Message-Id: <1615525383-59071-2-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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=134.134.136.65; envelope-from=lei.rao@intel.com; helo=mga03.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" There is the same trace code in the colo_compare_packet_payload. Signed-off-by: Lei Rao Reviewed-by: Li Zhijian --- net/colo-compare.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index 84db497..9e18baa 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -590,19 +590,6 @@ static int colo_packet_compare_other(Packet *spkt, Pac= ket *ppkt) uint16_t offset =3D ppkt->vnet_hdr_len; =20 trace_colo_compare_main("compare other"); - if (trace_event_get_state_backends(TRACE_COLO_COMPARE_IP_INFO)) { - char pri_ip_src[20], pri_ip_dst[20], sec_ip_src[20], sec_ip_dst[20= ]; - - strcpy(pri_ip_src, inet_ntoa(ppkt->ip->ip_src)); - strcpy(pri_ip_dst, inet_ntoa(ppkt->ip->ip_dst)); - strcpy(sec_ip_src, inet_ntoa(spkt->ip->ip_src)); - strcpy(sec_ip_dst, inet_ntoa(spkt->ip->ip_dst)); - - trace_colo_compare_ip_info(ppkt->size, pri_ip_src, - pri_ip_dst, spkt->size, - sec_ip_src, sec_ip_dst); - } - if (ppkt->size !=3D spkt->size) { trace_colo_compare_main("Other: payload size of packets are differ= ent"); return -1; --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615526809; cv=none; d=zohomail.com; s=zohoarc; b=f+i3U8Y1kqxGqIBDEw2+RBn4/ncfF5HndbKUW74EDJMeXX7TCIGMzHz7Ab+tW8NQ/3byT6QqrgxSV7TuuwY0XRRg/r6OfCTHtnxa21vCjHUqw5jgz9ftxWYGHlT4LdQJfOgQdeTv/zxxvtTVB+ULWRKskeY+lCjSmma7s0NyxN8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615526809; 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=IZMhdIeqd8r7QSKdqu0kfHXG7cjdF+mPF8qCDRxswbo=; b=FugyGR6EvLybj1gt4IlXkje6rCLXhIWE01EVytlKbaLDxcMSfFNK9qZ74fZuTLwvyrbdMBG9ihp1O3nWpVCLXsEDW0U/ED55l8G5bsELrBz3/2fXcQsMMKsdAfBsINv4YINeYhmsyYLpzR5y1uqNaP6J6OxqoCy4oHnkbp++0Zg= 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 1615526809175712.7848627686625; Thu, 11 Mar 2021 21:26:49 -0800 (PST) Received: from localhost ([::1]:35136 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaK0-0006WK-1F for importer@patchew.org; Fri, 12 Mar 2021 00:26:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51582) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIY-0004oT-0K for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:18 -0500 Received: from mga05.intel.com ([192.55.52.43]:4921) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIW-0006dL-7c for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:17 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:13 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:10 -0800 IronPort-SDR: AAkeyOZP9IRx2GSiulsY/LjGWAjKMqHEm0cWwnzb5M6k9re8gDp3bGrsg5uTB/GknEMhH5xlW3 f1CfduyTaQuQ== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="273826899" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="273826899" IronPort-SDR: FdjtkUkQaq3JoFQ3qhdkpNVTh2hiwO04lQYhncrPuWcD30YjT2UxQ/Oiqa7zjBGSjAA4f4xsS+ 9ohZFSysW+xQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481902" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 02/10] Fix the qemu crash when guest shutdown during checkpoint Date: Fri, 12 Mar 2021 13:02:55 +0800 Message-Id: <1615525383-59071-3-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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.43; envelope-from=lei.rao@intel.com; helo=mga05.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" This patch fixes the following: qemu-system-x86_64: invalid runstate transition: 'colo' ->'shutdown' Aborted (core dumped) Signed-off-by: Lei Rao Reviewed-by: Li Zhijian --- softmmu/runstate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/softmmu/runstate.c b/softmmu/runstate.c index 2874417..884f8fa 100644 --- a/softmmu/runstate.c +++ b/softmmu/runstate.c @@ -126,6 +126,7 @@ static const RunStateTransition runstate_transitions_de= f[] =3D { { RUN_STATE_RESTORE_VM, RUN_STATE_PRELAUNCH }, =20 { RUN_STATE_COLO, RUN_STATE_RUNNING }, + { RUN_STATE_COLO, RUN_STATE_SHUTDOWN}, =20 { RUN_STATE_RUNNING, RUN_STATE_DEBUG }, { RUN_STATE_RUNNING, RUN_STATE_INTERNAL_ERROR }, --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615526960; cv=none; d=zohomail.com; s=zohoarc; b=ZSaleDFzywd1c82M3i97QD47t6g8Ej+3KXgNYbQFQkxYTPWNWuR40K6B+uuP49MRlbgNSt+KAGeOGU8p6dLfijzaw+uRB88N0SL+4HcIwHX4m/WdELYd1dKF1WU1UWL97aJKIkFdt1nsNx0DTsgR7r/VTSM1c2UGppNb/CNUatw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615526960; 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=Vn27DKa7BSdnf2dRnIM8hlA09ayYN5/ckoHMlWyjf4s=; b=nx6lmFsjbvcrJgnjxQvfS3cxiyDN3zGcf+ybu+AVmzL8q2+Xt6BydYqgFf4vqW0pnYm86CNf7HcdSMjOzz4WXYtnvCZYjq5Q2pfTc3x+hPO1bqC7vTKEnsoCHR23FaW9CVJAXwOkc/n6BgR/FQ1Mk7RIhd8yjwABJGch0ODAJWg= 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 1615526960214560.3727195387837; Thu, 11 Mar 2021 21:29:20 -0800 (PST) Received: from localhost ([::1]:43510 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaMQ-0001d0-Rw for importer@patchew.org; Fri, 12 Mar 2021 00:29:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51598) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIb-0004uS-07 for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:21 -0500 Received: from mga05.intel.com ([192.55.52.43]:4921) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIZ-0006dL-CA for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:20 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:18 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:15 -0800 IronPort-SDR: dFLT2eGXoJSqPnjuUmbGTXWasT5vk3aV8vC/n7TudVAKuh0Xz83Z1Tm24cgiDCXIrJbMQvvJUT uBZv3LVgu+CQ== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="273826906" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="273826906" IronPort-SDR: irBvidiZDUHTNN9KE/BIk8QBfr1NqMFQPU1CuJurbqGvCew+s7nnO3z2JVLa6fqlpYQtdvpGaF N1xZzpTMD0Wg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481915" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 03/10] Optimize the function of filter_send Date: Fri, 12 Mar 2021 13:02:56 +0800 Message-Id: <1615525383-59071-4-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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.43; envelope-from=lei.rao@intel.com; helo=mga05.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" The iov_size has been calculated in filter_send(). we can directly return the size.In this way, this is no need to repeat calculations in filter_redirector_receive_iov(); Signed-off-by: Lei Rao Reviewed-by: Li Zhijian --- net/filter-mirror.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/filter-mirror.c b/net/filter-mirror.c index f8e6500..f20240c 100644 --- a/net/filter-mirror.c +++ b/net/filter-mirror.c @@ -88,7 +88,7 @@ static int filter_send(MirrorState *s, goto err; } =20 - return 0; + return size; =20 err: return ret < 0 ? ret : -EIO; @@ -159,7 +159,7 @@ static ssize_t filter_mirror_receive_iov(NetFilterState= *nf, int ret; =20 ret =3D filter_send(s, iov, iovcnt); - if (ret) { + if (ret < 0) { error_report("filter mirror send failed(%s)", strerror(-ret)); } =20 @@ -182,10 +182,10 @@ static ssize_t filter_redirector_receive_iov(NetFilte= rState *nf, =20 if (qemu_chr_fe_backend_connected(&s->chr_out)) { ret =3D filter_send(s, iov, iovcnt); - if (ret) { + if (ret < 0) { error_report("filter redirector send failed(%s)", strerror(-re= t)); } - return iov_size(iov, iovcnt); + return ret; } else { return 0; } --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615526817; cv=none; d=zohomail.com; s=zohoarc; b=Vf8TtIfrT4XXp/BdhU3XYUuGA8HWnRnuj2wypMqoFk3uxVjBllOpG91Ey6qB6iolnCYFYnKvkWQX4CobifHXlPALwTjuXlkZFbbYKnsOurXwdSH5bXwrnWWOJ0mEL357BwAJXQdiae7LL5JmsF+NvgXG7AoR+sR+G1rg+B3x6VU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615526817; 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=SaDr544YuwJaiA+evzgyf3pPGyIZKefMjiz/5rd0mSU=; b=SWkjwv6/PnHCwuM1CNcRtzflQ9MfO6Q9SZImREl5VWZZRjytCP2UNz//EAN1w8aiDrjQJKOYwmxqKCsirnX4WZJ+hA8fuysbly99qmytN4psW0DyxK4xwYa7q8ZfnLeuB2YQNj82KD+o+D2Sfbu3YmstnbGLZS8ig6zRtScOf0w= 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 1615526817795224.2319124289079; Thu, 11 Mar 2021 21:26:57 -0800 (PST) Received: from localhost ([::1]:35990 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaK7-0006v4-Pj for importer@patchew.org; Fri, 12 Mar 2021 00:26:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51656) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIg-00055Y-2E for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:26 -0500 Received: from mga05.intel.com ([192.55.52.43]:4921) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaId-0006dL-79 for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:25 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:22 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:19 -0800 IronPort-SDR: 29sNGDTZ34O8l+/9paQCByuHDBQZ4RDmpeZJ4RaiijrYwXWrp2D2cKsZsimnUS+oVu5rrSmZD8 3S6TYl/SUKcA== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="273826912" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="273826912" IronPort-SDR: YXiWo7Va/MA5OzypavOpJcjb/zZaEVRxSHaqawoXiRtsCcuidXxZ/M+H4b+fBK3XQaOM8ttdIc AHKCWrF+vPWw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481925" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 04/10] Remove migrate_set_block_enabled in checkpoint Date: Fri, 12 Mar 2021 13:02:57 +0800 Message-Id: <1615525383-59071-5-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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.43; envelope-from=lei.rao@intel.com; helo=mga05.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" We can detect disk migration in migrate_prepare, if disk migration is enabled in COLO mode, we can directly report an error.and there is no need to disable block migration at every checkpoint. Signed-off-by: Lei Rao Signed-off-by: Zhang Chen Reviewed-by: Li Zhijian --- migration/colo.c | 6 ------ migration/migration.c | 4 ++++ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/migration/colo.c b/migration/colo.c index de27662..1aaf316 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -435,12 +435,6 @@ static int colo_do_checkpoint_transaction(MigrationSta= te *s, if (failover_get_state() !=3D FAILOVER_STATUS_NONE) { goto out; } - - /* Disable block migration */ - migrate_set_block_enabled(false, &local_err); - if (local_err) { - goto out; - } qemu_mutex_lock_iothread(); =20 #ifdef CONFIG_REPLICATION diff --git a/migration/migration.c b/migration/migration.c index a5ddf43..785a331 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2221,6 +2221,10 @@ static bool migrate_prepare(MigrationState *s, bool = blk, bool blk_inc, } =20 if (blk || blk_inc) { + if (migrate_colo_enabled()) { + error_setg(errp, "No disk migration is required in COLO mode"); + return false; + } if (migrate_use_block() || migrate_use_block_incremental()) { error_setg(errp, "Command options are incompatible with " "current migration capabilities"); --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615527112; cv=none; d=zohomail.com; s=zohoarc; b=fNdTt0J8rP6gc+aRiXStG0/aJ3QFcY6+I17zi+Vznrzoj8XMU7vRAMzwEtzNU623I8mwJ256/yz/ogXkgdfT6f/yFE6ElWRCaXHCA2NnddYLWtUD9N6YDIdK6Opd/vBf7qdjDbPxsMhq+RQkqzaUCOU8IwamHKSey7RyejZxMI0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615527112; 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=UWxddCh6Dw6L5cCKczFdvXLTTkrV1OBB8qkw2CHyzU8=; b=B5EJMBPZ3JSot6BF7wundyv2VFn9bYtEmsNoF3XsoNbhxNt8gefDkPI2NLwr6cB5A1Mc2IBBOFCcgehjE9NE9R+zYTht8diN8Uk8vBE6tKTSjv2oGPRqYIVA4Mcn0Qs7fTuFRP3cSv2630vtDYUAY7zl0FT8dVxtepgV+Hc5LTY= 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 1615527112912541.0095695812108; Thu, 11 Mar 2021 21:31:52 -0800 (PST) Received: from localhost ([::1]:50538 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaOt-0004dI-Qv for importer@patchew.org; Fri, 12 Mar 2021 00:31:51 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51670) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIj-0005CP-Nd for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:29 -0500 Received: from mga05.intel.com ([192.55.52.43]:4921) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIh-0006dL-RT for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:29 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:27 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:23 -0800 IronPort-SDR: rqR79SDcJmE+Zm6bjXDPdB3iOXehRGRswiGVEq2g4JmCmdgVSzSpB+MDqsu70IgZ+xBoXv442M sqUMzcblTJBA== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="273826919" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="273826919" IronPort-SDR: XzuwBC1/mM0x90oJmRdWYRWSjWKB5uDzfep++Rr+aCHlHgjZfYyk/EnwDmZCYlCYvTKSqKoMtd VCRKLkshroZw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481936" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 05/10] Optimize the function of packet_new Date: Fri, 12 Mar 2021 13:02:58 +0800 Message-Id: <1615525383-59071-6-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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.43; envelope-from=lei.rao@intel.com; helo=mga05.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" if we put the data copy outside the packet_new(), then for the filter-rewrite module, there will be one less memory copy in the processing of each network packet. Signed-off-by: Lei Rao --- net/colo-compare.c | 7 +++++-- net/colo.c | 4 ++-- net/colo.h | 2 +- net/filter-rewriter.c | 1 - 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/net/colo-compare.c b/net/colo-compare.c index 9e18baa..8bdf5a8 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -247,14 +247,17 @@ static int packet_enqueue(CompareState *s, int mode, = Connection **con) ConnectionKey key; Packet *pkt =3D NULL; Connection *conn; + char *data =3D NULL; int ret; =20 if (mode =3D=3D PRIMARY_IN) { - pkt =3D packet_new(s->pri_rs.buf, + data =3D g_memdup(s->pri_rs.buf, s->pri_rs.packet_len); + pkt =3D packet_new(data, s->pri_rs.packet_len, s->pri_rs.vnet_hdr_len); } else { - pkt =3D packet_new(s->sec_rs.buf, + data =3D g_memdup(s->sec_rs.buf, s->sec_rs.packet_len); + pkt =3D packet_new(data, s->sec_rs.packet_len, s->sec_rs.vnet_hdr_len); } diff --git a/net/colo.c b/net/colo.c index ef00609..08fb37e 100644 --- a/net/colo.c +++ b/net/colo.c @@ -155,11 +155,11 @@ void connection_destroy(void *opaque) g_slice_free(Connection, conn); } =20 -Packet *packet_new(const void *data, int size, int vnet_hdr_len) +Packet *packet_new(void *data, int size, int vnet_hdr_len) { Packet *pkt =3D g_slice_new(Packet); =20 - pkt->data =3D g_memdup(data, size); + pkt->data =3D data; pkt->size =3D size; pkt->creation_ms =3D qemu_clock_get_ms(QEMU_CLOCK_HOST); pkt->vnet_hdr_len =3D vnet_hdr_len; diff --git a/net/colo.h b/net/colo.h index 573ab91..bd2d719 100644 --- a/net/colo.h +++ b/net/colo.h @@ -100,7 +100,7 @@ Connection *connection_get(GHashTable *connection_track= _table, bool connection_has_tracked(GHashTable *connection_track_table, ConnectionKey *key); void connection_hashtable_reset(GHashTable *connection_track_table); -Packet *packet_new(const void *data, int size, int vnet_hdr_len); +Packet *packet_new(void *data, int size, int vnet_hdr_len); void packet_destroy(void *opaque, void *user_data); void packet_destroy_partial(void *opaque, void *user_data); =20 diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c index 10fe393..599f0c3 100644 --- a/net/filter-rewriter.c +++ b/net/filter-rewriter.c @@ -271,7 +271,6 @@ static ssize_t colo_rewriter_receive_iov(NetFilterState= *nf, } =20 pkt =3D packet_new(buf, size, vnet_hdr_len); - g_free(buf); =20 /* * if we get tcp packet --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615526972; cv=none; d=zohomail.com; s=zohoarc; b=E0bQGQGV1+wJ8dmca9w1/qRlpkHam9/oMnDkIdqPOcUFI0n0cArJmzzkYwJL/Lzo+iq8X3cMOl91pvKsGdoahUQ4F73sJHxyikwnXAA9TgZBTLn8dIUc+JZDoLT9+dny49CNukJzcINk5Z2kt8J+DITl3A4JQDTuHsr6sBjONek= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615526972; 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=eeJGV4pknR+8WXDWH1FL6g0NRdku59YnWSWJ2ak4Nq8=; b=CJatbdYyimU0ZCRVGQOLhcI0Mu/xZb6CP7ux4AfbccPnRi5K2V+UxEYC85huWhhCNLVwdYLPOxWQbg/wRi2d6SUYFwov2vKK1DFNXF7uuIQHGs+kQDs/XybREMOEnZ/7vdi4A8DBUHaGWvulRqu+SFH5Yp1wUW4UGTIyeM9tHZg= 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 1615526972938643.7922615770059; Thu, 11 Mar 2021 21:29:32 -0800 (PST) Received: from localhost ([::1]:44472 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaMd-000222-IG for importer@patchew.org; Fri, 12 Mar 2021 00:29:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51684) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIo-0005Nj-9i for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:34 -0500 Received: from mga05.intel.com ([192.55.52.43]:4921) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIm-0006dL-BO for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:34 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:31 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:28 -0800 IronPort-SDR: ZYPDkTNxmh1vO9scZgBVHhfPrvs1cDx2pbWn9Fl9hOXMY+CXTPIci8KlETKlVvK1BMb+isNNSs KGMCQDutuxtQ== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="273826925" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="273826925" IronPort-SDR: WGuq3kkbDR8WWVsl/qb69tBHoQtNDQmOHYptWh+vE+J56+1UXGX1iPUUif9Q2QI76yBQw3WDNI 3SIggtXmZfSw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481948" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 06/10] Add the function of colo_compare_cleanup Date: Fri, 12 Mar 2021 13:02:59 +0800 Message-Id: <1615525383-59071-7-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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.43; envelope-from=lei.rao@intel.com; helo=mga05.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" This patch fixes the following: #0 __GI_raise (sig=3Dsig@entry=3D6) at ../sysdeps/unix/sysv/linux/rais= e.c:50 #1 0x00007f6ae4559859 in __GI_abort () at abort.c:79 #2 0x0000559aaa386720 in error_exit (err=3D16, msg=3D0x559aaa5973d0 <_= _func__.16227> "qemu_mutex_destroy") at util/qemu-thread-posix.c:36 #3 0x0000559aaa3868c5 in qemu_mutex_destroy (mutex=3D0x559aabffe828) a= t util/qemu-thread-posix.c:69 #4 0x0000559aaa2f93a8 in char_finalize (obj=3D0x559aabffe800) at chard= ev/char.c:285 #5 0x0000559aaa23318a in object_deinit (obj=3D0x559aabffe800, type=3D0= x559aabfd7d20) at qom/object.c:606 #6 0x0000559aaa2331b8 in object_deinit (obj=3D0x559aabffe800, type=3D0= x559aabfd9060) at qom/object.c:610 #7 0x0000559aaa233200 in object_finalize (data=3D0x559aabffe800) at qo= m/object.c:620 #8 0x0000559aaa234202 in object_unref (obj=3D0x559aabffe800) at qom/ob= ject.c:1074 #9 0x0000559aaa2356b6 in object_finalize_child_property (obj=3D0x559aa= c0dac10, name=3D0x559aac778760 "compare0-0", opaque=3D0x559aabffe800) at qo= m/object.c:1584 #10 0x0000559aaa232f70 in object_property_del_all (obj=3D0x559aac0dac10= ) at qom/object.c:557 #11 0x0000559aaa2331ed in object_finalize (data=3D0x559aac0dac10) at qo= m/object.c:619 #12 0x0000559aaa234202 in object_unref (obj=3D0x559aac0dac10) at qom/ob= ject.c:1074 #13 0x0000559aaa2356b6 in object_finalize_child_property (obj=3D0x559aa= c0c75c0, name=3D0x559aac0dadc0 "chardevs", opaque=3D0x559aac0dac10) at qom/= object.c:1584 #14 0x0000559aaa233071 in object_property_del_child (obj=3D0x559aac0c75= c0, child=3D0x559aac0dac10, errp=3D0x0) at qom/object.c:580 #15 0x0000559aaa233155 in object_unparent (obj=3D0x559aac0dac10) at qom= /object.c:599 #16 0x0000559aaa2fb721 in qemu_chr_cleanup () at chardev/char.c:1159 #17 0x0000559aa9f9b110 in main (argc=3D54, argv=3D0x7ffeb62fa998, envp= =3D0x7ffeb62fab50) at vl.c:4539 When chardev is cleaned up, chr_write_lock needs to be destroyed. But the colo-compare module is not cleaned up normally before it when the guest poweroff. It is holding chr_write_lock at this time. This will cause qemu crash.So we add the function of colo_compare_cleanup() before qemu_chr_cleanup() to fix the bug. Signed-off-by: Lei Rao --- net/colo-compare.c | 10 ++++++++++ net/colo-compare.h | 1 + net/net.c | 4 ++++ 3 files changed, 15 insertions(+) diff --git a/net/colo-compare.c b/net/colo-compare.c index 8bdf5a8..06f2c28 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -1404,6 +1404,16 @@ static void colo_compare_init(Object *obj) compare_set_vnet_hdr); } =20 +void colo_compare_cleanup(void) +{ + CompareState *tmp =3D NULL; + CompareState *n =3D NULL; + + QTAILQ_FOREACH_SAFE(tmp, &net_compares, next, n) { + object_unparent(OBJECT(tmp)); + } +} + static void colo_compare_finalize(Object *obj) { CompareState *s =3D COLO_COMPARE(obj); diff --git a/net/colo-compare.h b/net/colo-compare.h index 22ddd51..b055270 100644 --- a/net/colo-compare.h +++ b/net/colo-compare.h @@ -20,5 +20,6 @@ void colo_notify_compares_event(void *opaque, int event, Error **errp); void colo_compare_register_notifier(Notifier *notify); void colo_compare_unregister_notifier(Notifier *notify); +void colo_compare_cleanup(void); =20 #endif /* QEMU_COLO_COMPARE_H */ diff --git a/net/net.c b/net/net.c index fb7b7dc..3a94a27 100644 --- a/net/net.c +++ b/net/net.c @@ -53,6 +53,7 @@ #include "sysemu/qtest.h" #include "sysemu/runstate.h" #include "sysemu/sysemu.h" +#include "net/colo-compare.h" #include "net/filter.h" #include "qapi/string-output-visitor.h" =20 @@ -1375,6 +1376,9 @@ void net_cleanup(void) { NetClientState *nc; =20 + /*cleanup colo compare module for COLO*/ + colo_compare_cleanup(); + /* We may del multiple entries during qemu_del_net_client(), * so QTAILQ_FOREACH_SAFE() is also not safe here. */ --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615527209; cv=none; d=zohomail.com; s=zohoarc; b=Zwd4Cq/QYsQ7Q5+/wDuoEvoB5mH19bNtD25tUBfI07K+g2+bmnRRQDq6wWiB7UeW6nFD4IiN6l4k3BwjQe1NffWp/W1cZnggO/9G+CbNU4Ub06PThSvvHfYOMHeV5EJl0f6u/g5ZMaKHdWCNhsSNg3km06QcUrqLX7MsycdTfxs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615527209; 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=Kai+Vh2ivdCH4ZV6xcUHLcUMNs8qqwz+UIeY6rpvnb4=; b=UnsmborwBaY+bwqOj5x796PckqA8bFwsp7FYLcgf9aCijJzEiZdJgj1ZwGN701E+PKwJqtqiJBhOFjxlPXl4GvBDiT8ZqcrEPJxFJi/P9KJTYm2F5kOj3Ekr0eWS+rPmmRG5uH0hfX4gmS4emDBkAlLyvYP0JWBa5v6MrTmauM0= 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 1615527209845910.1556649558208; Thu, 11 Mar 2021 21:33:29 -0800 (PST) Received: from localhost ([::1]:54750 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaQS-0006Qb-SA for importer@patchew.org; Fri, 12 Mar 2021 00:33:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51696) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIs-0005XX-AJ for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:38 -0500 Received: from mga05.intel.com ([192.55.52.43]:4921) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIq-0006dL-FE for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:38 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:35 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:32 -0800 IronPort-SDR: ywDsrLWSWbEa2NPGHKkOLO1SHhjKr/k+yyllScBqKYCrPGhddBLhsW1mlfNYM18pgfrH6rVi4f L00G03aXyNSw== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="273826929" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="273826929" IronPort-SDR: HRd8QW2IqSvwy/R9fyuquOlY7avoBeRnDWTS6zaGL29dCRxZcr9F1LGpICsf78SHGKckiryfmj 0nGC8QSmrenA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481955" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 07/10] Reset the auto-converge counter at every checkpoint. Date: Fri, 12 Mar 2021 13:03:00 +0800 Message-Id: <1615525383-59071-8-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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.43; envelope-from=lei.rao@intel.com; helo=mga05.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" if we don't reset the auto-converge counter, it will continue to run with COLO running, and eventually the system will hang due to the CPU throttle reaching DEFAULT_MIGRATE_MAX_CPU_THROTTLE. Signed-off-by: Lei Rao --- migration/colo.c | 4 ++++ migration/ram.c | 10 ++++++++++ migration/ram.h | 1 + 3 files changed, 15 insertions(+) diff --git a/migration/colo.c b/migration/colo.c index 1aaf316..723ffb8 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -459,6 +459,10 @@ static int colo_do_checkpoint_transaction(MigrationSta= te *s, if (ret < 0) { goto out; } + + if (migrate_auto_converge()) { + mig_throttle_counter_reset(); + } /* * Only save VM's live state, which not including device state. * TODO: We may need a timeout mechanism to prevent COLO process diff --git a/migration/ram.c b/migration/ram.c index 72143da..e795a8d 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -652,6 +652,16 @@ static void mig_throttle_guest_down(uint64_t bytes_dir= ty_period, } } =20 +void mig_throttle_counter_reset(void) +{ + RAMState *rs =3D ram_state; + + rs->time_last_bitmap_sync =3D qemu_clock_get_ms(QEMU_CLOCK_REALTIME); + rs->num_dirty_pages_period =3D 0; + rs->bytes_xfer_prev =3D ram_counters.transferred; + cpu_throttle_stop(); +} + /** * xbzrle_cache_zero_page: insert a zero page in the XBZRLE cache * diff --git a/migration/ram.h b/migration/ram.h index 6378bb3..3f78175 100644 --- a/migration/ram.h +++ b/migration/ram.h @@ -50,6 +50,7 @@ bool ramblock_is_ignored(RAMBlock *block); int xbzrle_cache_resize(uint64_t new_size, Error **errp); uint64_t ram_bytes_remaining(void); uint64_t ram_bytes_total(void); +void mig_throttle_counter_reset(void); =20 uint64_t ram_pagesize_summary(void); int ram_save_queue_pages(const char *rbname, ram_addr_t start, ram_addr_t = len); --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615526957; cv=none; d=zohomail.com; s=zohoarc; b=lopgq35PDQCIK0uX4pAWXKRMwZ/TM7aH1Om84Bo27iwmGrtqxIc8IKK8xp0HQ/+w2tFEjbxrI9yhdy8XrBgXW5vi42SqJk6e6bHYUqWBYvdfuWBDLKql+HYqTlwoQ4ZldZFnI0jvoy/lIHrux+BuZoehRoI+713fJWGXyp9Y6S8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615526957; 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=0/3aefWbjNs9UVRsnFsvIMR4HJmSmZpBS0C9LPlpPDE=; b=RSd5noN3B2apGOoKmtBGk28kAI8MSiLwSfJ28sNaPzr8Pdc+nJhM1Hglt+22edZ2uRn6QgZQVCL2a9ko0l/zCEplVtD4AvQ5r1rqP2iLLA1IPjObJFpGxjWPe/a46Tz2InE2rQBlsTwSHQ/CvesoHpj2cCXlMbXq9w/1l0/hsQ0= 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 161552695765232.28783078702713; Thu, 11 Mar 2021 21:29:17 -0800 (PST) Received: from localhost ([::1]:43294 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaMO-0001X4-K4 for importer@patchew.org; Fri, 12 Mar 2021 00:29:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51722) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIy-0005dH-DU for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:44 -0500 Received: from mga05.intel.com ([192.55.52.43]:4921) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaIv-0006dL-1P for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:44 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:40 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:36 -0800 IronPort-SDR: HznS43ecIf9pWshvth5T9ZwcKe4ZTDHsIFWXv+VmC20PuTTJc0lwyiSaHVpsuB3ZX3ytKn3cCH Clql+DgrrfOQ== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="273826942" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="273826942" IronPort-SDR: 9YRfhr8z4CeV1AtP0qTvQaFPofRqzi4K7YRVWUa0i0sRR5kKJPChI6Oh4gN93hChwgiJpw/OtU A34PecUhl3oA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481972" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 08/10] Reduce the PVM stop time during Checkpoint Date: Fri, 12 Mar 2021 13:03:01 +0800 Message-Id: <1615525383-59071-9-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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.43; envelope-from=lei.rao@intel.com; helo=mga05.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" When flushing memory from ram cache to ram during every checkpoint on secondary VM, we can copy continuous chunks of memory instead of 4096 bytes per time to reduce the time of VM stop during checkpoint. Signed-off-by: Lei Rao --- migration/ram.c | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index e795a8d..b269637 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -823,6 +823,39 @@ unsigned long migration_bitmap_find_dirty(RAMState *rs= , RAMBlock *rb, return next; } =20 +/* + * colo_bitmap_find_diry:find contiguous dirty pages from start + * + * Returns the page offset within memory region of the start of the contig= uout + * dirty page + * + * @rs: current RAM state + * @rb: RAMBlock where to search for dirty pages + * @start: page where we start the search + * @num: the number of contiguous dirty pages + */ +static inline +unsigned long colo_bitmap_find_dirty(RAMState *rs, RAMBlock *rb, + unsigned long start, unsigned long *n= um) +{ + unsigned long size =3D rb->used_length >> TARGET_PAGE_BITS; + unsigned long *bitmap =3D rb->bmap; + unsigned long first, next; + + if (ramblock_is_ignored(rb)) { + return size; + } + + first =3D find_next_bit(bitmap, size, start); + if (first >=3D size) { + return first; + } + next =3D find_next_zero_bit(bitmap, size, first + 1); + assert(next >=3D first); + *num =3D next - first; + return first; +} + static inline bool migration_bitmap_clear_dirty(RAMState *rs, RAMBlock *rb, unsigned long page) @@ -3669,6 +3702,8 @@ void colo_flush_ram_cache(void) void *dst_host; void *src_host; unsigned long offset =3D 0; + unsigned long num =3D 0; + unsigned long i =3D 0; =20 memory_global_dirty_log_sync(); WITH_RCU_READ_LOCK_GUARD() { @@ -3682,19 +3717,22 @@ void colo_flush_ram_cache(void) block =3D QLIST_FIRST_RCU(&ram_list.blocks); =20 while (block) { - offset =3D migration_bitmap_find_dirty(ram_state, block, offse= t); + offset =3D colo_bitmap_find_dirty(ram_state, block, offset, &n= um); =20 if (((ram_addr_t)offset) << TARGET_PAGE_BITS >=3D block->used_length) { offset =3D 0; + num =3D 0; block =3D QLIST_NEXT_RCU(block, next); } else { - migration_bitmap_clear_dirty(ram_state, block, offset); + for (i =3D 0; i < num; i++) { + migration_bitmap_clear_dirty(ram_state, block, offset = + i); + } dst_host =3D block->host + (((ram_addr_t)offset) << TARGET_PAGE_BITS); src_host =3D block->colo_cache + (((ram_addr_t)offset) << TARGET_PAGE_BITS); - memcpy(dst_host, src_host, TARGET_PAGE_SIZE); + memcpy(dst_host, src_host, TARGET_PAGE_SIZE * num); } } } --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615527009; cv=none; d=zohomail.com; s=zohoarc; b=N9A+nCDWL6MWXeszEyz82Kh1UlBJwp0mBTaNavNDXprcdaDwECz0g/V3f3uvRU2Qvo0Vv2swzk5cWapMisbejSPL/QQbEp/JnKE9HujHBrki94BAd1OlKwBXwatqK+W1C0Qo7cWryL6EdaHVcOp7E+rhA92z659juJWNjX97bvw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615527009; 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=h6zEDDJUIX0yP9BywPz6zRhKeoyTpRlFGQ/nsFM270M=; b=MN65ZgF9lM11kUMeEyDAHlES992pZCWUpFfmL5PvfXaDGXUTEJ9h0dcY4Tg6l/oQS70iBgnqMV4lvkzuvEb25/Vk9eYfKQ+Kocv5PJ4war0AH405SjKUpAbCZlXcHrEe21OBOcyRSurjyQ349PvP6MSIb2h5gCF+Hy31WcIeUGg= 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 1615527009306311.61210112517574; Thu, 11 Mar 2021 21:30:09 -0800 (PST) Received: from localhost ([::1]:46192 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaNE-0002iV-5O for importer@patchew.org; Fri, 12 Mar 2021 00:30:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51748) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaJ7-0005kX-U4 for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:55 -0500 Received: from mga18.intel.com ([134.134.136.126]:29330) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaJ3-000710-Rz for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:25:53 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:47 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:43 -0800 IronPort-SDR: r3fS6Og3u4ELJFFI1M2U/vYbyk9bErEQ9/GWiNemBTMorgxKs7JfLEMbulP9vsjOxTLpgi/Cwz nFefbADdQOKw== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="176376599" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="176376599" IronPort-SDR: TP8U5etHzaeljpq3VCLy7erGemAGdVgTPDFh0QtkhI/0ofb3nmW7r6OVHlK32DtrBFrTr4i19X JmF2FSnxbE6Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481983" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 09/10] Add the function of colo_bitmap_clear_diry Date: Fri, 12 Mar 2021 13:03:02 +0800 Message-Id: <1615525383-59071-10-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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=134.134.136.126; envelope-from=lei.rao@intel.com; helo=mga18.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" When we use continuous dirty memory copy for flushing ram cache on secondary VM, we can also clean up the bitmap of contiguous dirty page memory. This also can reduce the VM stop time during checkpoint. Signed-off-by: Lei Rao --- migration/ram.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index b269637..008a26e 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -856,6 +856,30 @@ unsigned long colo_bitmap_find_dirty(RAMState *rs, RAM= Block *rb, return first; } =20 +/** + * colo_bitmap_clear_dirty:when we flush ram cache to ram, we will use + * continuous memory copy, so we can also clean up the bitmap of contiguous + * dirty memory. + */ +static inline bool colo_bitmap_clear_dirty(RAMState *rs, + RAMBlock *rb, + unsigned long start, + unsigned long num) +{ + bool ret; + unsigned long i =3D 0; + + qemu_mutex_lock(&rs->bitmap_mutex); + for (i =3D 0; i < num; i++) { + ret =3D test_and_clear_bit(start + i, rb->bmap); + if (ret) { + rs->migration_dirty_pages--; + } + } + qemu_mutex_unlock(&rs->bitmap_mutex); + return ret; +} + static inline bool migration_bitmap_clear_dirty(RAMState *rs, RAMBlock *rb, unsigned long page) @@ -3703,7 +3727,6 @@ void colo_flush_ram_cache(void) void *src_host; unsigned long offset =3D 0; unsigned long num =3D 0; - unsigned long i =3D 0; =20 memory_global_dirty_log_sync(); WITH_RCU_READ_LOCK_GUARD() { @@ -3725,9 +3748,7 @@ void colo_flush_ram_cache(void) num =3D 0; block =3D QLIST_NEXT_RCU(block, next); } else { - for (i =3D 0; i < num; i++) { - migration_bitmap_clear_dirty(ram_state, block, offset = + i); - } + colo_bitmap_clear_dirty(ram_state, block, offset, num); dst_host =3D block->host + (((ram_addr_t)offset) << TARGET_PAGE_BITS); src_host =3D block->colo_cache --=20 1.8.3.1 From nobody Sat May 18 20:37:10 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=1615527139; cv=none; d=zohomail.com; s=zohoarc; b=N2xEHHn2w8XJliL+h/MeT/VT0Qu/l+Arpn36je/h+RWi3kMJjee5U9TPwgAtgCh6KRLPoCI2BsYZBIJrKsIwzGniriqqB1k9rtsDu8SK/7LNalhWOhGqfnwbpR6woIDuz3BwMSrLBwWJOpjF4srGF9H/jOFY/r4Vr2TPY23lquw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1615527139; 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=CclZ5ZSYI+KNA0QRUUa3dlDDAELEn96ScEulfWtx4dA=; b=ZsA4sWGXRheRmp9MBDJo3156jGq9NF4FIViXwyqMhkqzUuH04+sWBkxQQ8PR0gqynvTic2G79FNZKxfisgZKMRB2ibjhgBOEoUU1EDkbAAX8sMQhcYC5VeyPERf9VyeTvM7fQfU/YgSMy0dKkJEKtAzaqzvwYQD7nF8aLz2OOf4= 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 1615527139861699.4082192896072; Thu, 11 Mar 2021 21:32:19 -0800 (PST) Received: from localhost ([::1]:51946 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lKaPK-0005Eo-JU for importer@patchew.org; Fri, 12 Mar 2021 00:32:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51766) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaJK-0005r5-Ga for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:26:06 -0500 Received: from mga18.intel.com ([134.134.136.126]:29334) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lKaJH-0007Eb-HJ for qemu-devel@nongnu.org; Fri, 12 Mar 2021 00:26:06 -0500 Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Mar 2021 21:25:51 -0800 Received: from unknown (HELO localhost.localdomain.bj.intel.com) ([10.240.192.103]) by fmsmga006.fm.intel.com with ESMTP; 11 Mar 2021 21:25:47 -0800 IronPort-SDR: Br/Nm4o6IVlfFhoqRO8baOQHdX7dtVcVI5NYRUJomPwXfeNVD+vqwF7OL1aVkVoPkH9aNBQgnQ 7E2ew9e6tx9w== X-IronPort-AV: E=McAfee;i="6000,8403,9920"; a="176376604" X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="176376604" IronPort-SDR: 2EJ2iB4TSH/50psFQHh+qodQzLwwfUY3ddhgYZDy33MU8yUehgq5GiCBVQbQjiJhdNMdm3mXdm BnICA5fc10Qg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,242,1610438400"; d="scan'208";a="600481995" From: leirao To: chen.zhang@intel.com, lizhijian@cn.fujitsu.com, jasowang@redhat.com, quintela@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com, lukasstraub2@web.de Subject: [PATCH v2 10/10] Fixed calculation error of pkt->header_size in fill_pkt_tcp_info() Date: Fri, 12 Mar 2021 13:03:03 +0800 Message-Id: <1615525383-59071-11-git-send-email-lei.rao@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1615525383-59071-1-git-send-email-lei.rao@intel.com> References: <1615525383-59071-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=134.134.136.126; envelope-from=lei.rao@intel.com; helo=mga18.intel.com 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_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: "Rao, Lei" , 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" From: "Rao, Lei" The data pointer has skipped vnet_hdr_len in the function of parse_packet_early().So, we can not subtract vnet_hdr_len again when calculating pkt->header_size in fill_pkt_tcp_info(). Otherwise, it will cause network packet comparsion errors and greatly increase the frequency of checkpoints. Signed-off-by: Lei Rao Signed-off-by: Zhang Chen Reviewed-by: Li Zhijian --- 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 06f2c28..af30490 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -211,7 +211,7 @@ static void fill_pkt_tcp_info(void *data, uint32_t *max= _ack) pkt->tcp_ack =3D ntohl(tcphd->th_ack); *max_ack =3D *max_ack > pkt->tcp_ack ? *max_ack : pkt->tcp_ack; pkt->header_size =3D pkt->transport_header - (uint8_t *)pkt->data - + (tcphd->th_off << 2) - pkt->vnet_hdr_len; + + (tcphd->th_off << 2); pkt->payload_size =3D pkt->size - pkt->header_size; pkt->seq_end =3D pkt->tcp_seq + pkt->payload_size; pkt->flags =3D tcphd->th_flags; --=20 1.8.3.1