From nobody Mon Feb 9 05:41:06 2026 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