From nobody Mon May 6 01:07:12 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; spf=pass (zoho.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=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1561601522; cv=none; d=zoho.com; s=zohoarc; b=kGf1N4lwjO+JX5BWLXCqVVdQ9AQE/dvmd333ZAnax9eQjxv3arLBUP6aptNpPr72cRbwfAuFkZRVk9tBW2VgnK9X1ucdf5JMx0BiKFVdxENFkSXWhZ3nDXk9Hau/19VJPAcobRN52DyrXI/Wwq1JMJpoFYEU2llgRjnOsfWRXps= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1561601522; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=NlZlcNC/BG4zFyb/y6fDBBTMp/1K/SSZOLlb5fcPsSI=; b=gJFEqOpx8jxK6ie382hmjxU37u2aBqfhDys0EgFbTLGCGYtGtwLVl4Qkvr9zQlNw1opW2WOx2YXHRzMVFxYD1jesOzY7SVXBZpoEUNr++Nl469gbmWUr4WSKnYT15dCMnC0MvZEOXEfcFV4NyLtkSaji0pnT3Wr1MRE/RzyNVMM= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.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 1561601522512932.9614654289795; Wed, 26 Jun 2019 19:12:02 -0700 (PDT) Received: from localhost ([::1]:45796 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgJtH-0005oj-Js for importer@patchew.org; Wed, 26 Jun 2019 22:11:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51515) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgJqQ-0002Pz-MU for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hgJqO-0004Ec-Qm for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:02 -0400 Received: from mga11.intel.com ([192.55.52.93]:6489) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hgJqN-0004AJ-SJ for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:00 -0400 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2019 19:08:50 -0700 Received: from richard.sh.intel.com (HELO localhost) ([10.239.159.54]) by fmsmga002.fm.intel.com with ESMTP; 26 Jun 2019 19:08:49 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,422,1557212400"; d="scan'208";a="188879914" From: Wei Yang To: qemu-devel@nongnu.org Date: Thu, 27 Jun 2019 10:08:20 +0800 Message-Id: <20190627020822.15485-2-richardw.yang@linux.intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190627020822.15485-1-richardw.yang@linux.intel.com> References: <20190627020822.15485-1-richardw.yang@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 192.55.52.93 Subject: [Qemu-devel] [PATCH 1/3] migration/postcopy: the valid condition is one less then end 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: Wei Yang , dgilbert@redhat.com, quintela@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" If one equals end, it means we have gone through the whole bitmap. Use a more restrict check to skip a unnecessary condition. Signed-off-by: Wei Yang Reviewed-by: Dr. David Alan Gilbert --- migration/ram.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/ram.c b/migration/ram.c index 908517fc2b..b78169e811 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2777,7 +2777,7 @@ static int postcopy_send_discard_bm_ram(MigrationStat= e *ms, for (current =3D 0; current < end; ) { unsigned long one =3D find_next_bit(unsentmap, end, current); =20 - if (one <=3D end) { + if (one < end) { unsigned long zero =3D find_next_zero_bit(unsentmap, end, one = + 1); unsigned long discard_length; =20 --=20 2.19.1 From nobody Mon May 6 01:07:12 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; spf=pass (zoho.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=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1561601524; cv=none; d=zoho.com; s=zohoarc; b=YSGx/InKFaR9Q07v5w3DCwMPnA9+M0jaZLpqWQ2FFK2hDrb7Rcdj8MzFc0XMXUlRBRoknH8Nxl6EAHISlRILRRWomxyHyS04amGLsLNy3L69I66lmDtv3EWvJno5XpBezCvzPrIy5uJHKZj52e99VUkWcHv8GL0AFnmnj4TKDlc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1561601524; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=4Fmk8cIbL4PbeZYp0ZnUlioTSdti5wKPOiM71ytgdT4=; b=fU57V2wgAk1E30kRaZVva87RuxGAbqSlcpZVN/FJJJpO0YsQsohOh51Xf0pthG7FO0FsXLmyxyoF5mpHwmKM4Eq1gxub42y9fV/YTXqsta4yCR9Y6eEhmgdK84VhViu63qBofkeVxwe+XaGxOyViSK4QR24A4dwtGmply42Y6tc= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.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 15616015246148.655036888811082; Wed, 26 Jun 2019 19:12:04 -0700 (PDT) Received: from localhost ([::1]:45798 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgJtH-0005os-ND for importer@patchew.org; Wed, 26 Jun 2019 22:11:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51514) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgJqQ-0002Py-MW for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hgJqO-0004Eg-R8 for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:02 -0400 Received: from mga11.intel.com ([192.55.52.93]:6491) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hgJqN-0004Bu-SQ for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:00 -0400 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2019 19:08:52 -0700 Received: from richard.sh.intel.com (HELO localhost) ([10.239.159.54]) by fmsmga002.fm.intel.com with ESMTP; 26 Jun 2019 19:08:51 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,422,1557212400"; d="scan'208";a="188879918" From: Wei Yang To: qemu-devel@nongnu.org Date: Thu, 27 Jun 2019 10:08:21 +0800 Message-Id: <20190627020822.15485-3-richardw.yang@linux.intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190627020822.15485-1-richardw.yang@linux.intel.com> References: <20190627020822.15485-1-richardw.yang@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 192.55.52.93 Subject: [Qemu-devel] [PATCH 2/3] migration/postcopy: break the loop when there is no more page to discard 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: Wei Yang , dgilbert@redhat.com, quintela@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" When one is equal or bigger then end, it means there is no page to discard. Just break the loop in this case instead of processing it. No functional change, just refactor it a little. Signed-off-by: Wei Yang Reviewed-by: Dr. David Alan Gilbert --- migration/ram.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index b78169e811..b41b58ee54 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2776,23 +2776,23 @@ static int postcopy_send_discard_bm_ram(MigrationSt= ate *ms, =20 for (current =3D 0; current < end; ) { unsigned long one =3D find_next_bit(unsentmap, end, current); + unsigned long zero, discard_length; =20 - if (one < end) { - unsigned long zero =3D find_next_zero_bit(unsentmap, end, one = + 1); - unsigned long discard_length; + if (one >=3D end) { + break; + } =20 - if (zero >=3D end) { - discard_length =3D end - one; - } else { - discard_length =3D zero - one; - } - if (discard_length) { - postcopy_discard_send_range(ms, pds, one, discard_length); - } - current =3D one + discard_length; + zero =3D find_next_zero_bit(unsentmap, end, one + 1); + + if (zero >=3D end) { + discard_length =3D end - one; } else { - current =3D one; + discard_length =3D zero - one; + } + if (discard_length) { + postcopy_discard_send_range(ms, pds, one, discard_length); } + current =3D one + discard_length; } =20 return 0; --=20 2.19.1 From nobody Mon May 6 01:07:12 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; spf=pass (zoho.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=linux.intel.com ARC-Seal: i=1; a=rsa-sha256; t=1561601444; cv=none; d=zoho.com; s=zohoarc; b=PjrwiBUGpMyUAWmTLs3R359C+8GPr84PrPR9NqH73AGUqPxAimVTrnvCtQzV22eDH61e20KCuHblLnEat1tWFvwAmBZbVmgA+/nlxFT83RChlCUKjZMZbsJsF5iwk2KiwlWRZypB9VI06VoHLeB4nVPBU0284xy2aLut1a9MNio= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1561601444; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=CjciQGKiq/bu0x+fkWwIVEsRmfLWtFqWX8SkqLK4M3Y=; b=hquhBtLAxw32bKLC4U6LIGSExZ2Om6GO+K4jnRPanYfgm+CZ16a/gAPwL6dS9rK+y1o6yxnIMgFrdwbkHT0HaP8OhiNWI9O0+kzeOeTQFxJfP62do7XvC2YrY5VHpWrd/4e4ItUQ9MzUu2utN0karMwbVscyO532C90GpOxyO8w= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.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 1561601444791491.91335368879515; Wed, 26 Jun 2019 19:10:44 -0700 (PDT) Received: from localhost ([::1]:45786 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgJs0-00047x-Pn for importer@patchew.org; Wed, 26 Jun 2019 22:10:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51512) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hgJqQ-0002Pw-MT for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hgJqO-0004EP-Qi for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:02 -0400 Received: from mga11.intel.com ([192.55.52.93]:6494) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hgJqN-0004CJ-U3 for qemu-devel@nongnu.org; Wed, 26 Jun 2019 22:09:00 -0400 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2019 19:08:53 -0700 Received: from richard.sh.intel.com (HELO localhost) ([10.239.159.54]) by fmsmga002.fm.intel.com with ESMTP; 26 Jun 2019 19:08:53 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,422,1557212400"; d="scan'208";a="188879923" From: Wei Yang To: qemu-devel@nongnu.org Date: Thu, 27 Jun 2019 10:08:22 +0800 Message-Id: <20190627020822.15485-4-richardw.yang@linux.intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190627020822.15485-1-richardw.yang@linux.intel.com> References: <20190627020822.15485-1-richardw.yang@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 192.55.52.93 Subject: [Qemu-devel] [PATCH 3/3] migration/postcopy: discard_length must not be 0 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: Wei Yang , dgilbert@redhat.com, quintela@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Since we break the loop when there is no more page to discard, we are sure the following process would find some page to discard. It is not necessary to check it again. Signed-off-by: Wei Yang Reviewed-by: Dr. David Alan Gilbert --- migration/ram.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/migration/ram.c b/migration/ram.c index b41b58ee54..246efe6939 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2789,9 +2789,7 @@ static int postcopy_send_discard_bm_ram(MigrationStat= e *ms, } else { discard_length =3D zero - one; } - if (discard_length) { - postcopy_discard_send_range(ms, pds, one, discard_length); - } + postcopy_discard_send_range(ms, pds, one, discard_length); current =3D one + discard_length; } =20 --=20 2.19.1