From nobody Tue May 21 02:32:14 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=1562746357; cv=none; d=zoho.com; s=zohoarc; b=YN4Lz0QDYFVMeIzyPhSaVwQZjsHgVAB/Ljw2LPn5nxViDNW83SDaZ6DEhLOClFV5zMkS/zQymXFS7qx3RDSrDHiyNbbnDOJoyrjJQwv+X9CrDlulJXsgXx+7R5S4tXhuHEe/TmV3ldqBA1ilKuisA4aaxcygAk4d51BQirhiPxs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562746357; h=Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:Sender:Subject:To:ARC-Authentication-Results; bh=P5tw7aQTrNjLAZ3ae7A7ulSoFPC9e25G66mA1xLRSvU=; b=ichCSbXWJWmolENqhLnFzJhJ2IQKRFz1hODcao/9CJ5ohlo8V7wLeCfN8dkskxVUf0KfheTnPKA86elqVNtt1oYT5gtDt7pUqmO4ZCLe0tWQqPjFBQ8d7yISpJHst/fLR3NHifSIqOL0kjtwyHIs5SrmRoR6cUaAJcL6/ftD6ks= 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 1562746357200326.8753266059365; Wed, 10 Jul 2019 01:12:37 -0700 (PDT) Received: from localhost ([::1]:58944 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hl7iE-0002pJ-Bk for importer@patchew.org; Wed, 10 Jul 2019 04:12:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49758) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hl7hW-0002I1-VA for qemu-devel@nongnu.org; Wed, 10 Jul 2019 04:11:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hl7hV-0001fv-Q4 for qemu-devel@nongnu.org; Wed, 10 Jul 2019 04:11:42 -0400 Received: from mga03.intel.com ([134.134.136.65]:53210) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hl7hV-0001dG-GJ for qemu-devel@nongnu.org; Wed, 10 Jul 2019 04:11:41 -0400 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jul 2019 01:11:39 -0700 Received: from richard.sh.intel.com (HELO localhost) ([10.239.159.54]) by orsmga001.jf.intel.com with ESMTP; 10 Jul 2019 01:11:38 -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,473,1557212400"; d="scan'208";a="249396215" From: Wei Yang To: qemu-devel@nongnu.org Date: Wed, 10 Jul 2019 16:11:11 +0800 Message-Id: <20190710081111.10302-1-richardw.yang@linux.intel.com> X-Mailer: git-send-email 2.17.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 134.134.136.65 Subject: [Qemu-devel] [PATCH] migration/postcopy: use static PostcopyDiscardState instead of allocating it for each block 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-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Even we need to do discard for each RAMBlock, we still can leverage the same memory space to store the information. By doing so, we avoid memory allocation and deallocation to the system and also avoid potential failure of memory allocation which breaks the migration. Signed-off-by: Wei Yang --- migration/postcopy-ram.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c index 9faacacc9e..2e6b076bb7 100644 --- a/migration/postcopy-ram.c +++ b/migration/postcopy-ram.c @@ -1377,8 +1377,7 @@ void postcopy_fault_thread_notify(MigrationIncomingSt= ate *mis) * asking to discard individual ranges. * * @ms: The current migration state. - * @offset: the bitmap offset of the named RAMBlock in the migration - * bitmap. + * @offset: the bitmap offset of the named RAMBlock in the migration bitma= p. * @name: RAMBlock that discards will operate on. * * returns: a new PDS. @@ -1386,13 +1385,14 @@ void postcopy_fault_thread_notify(MigrationIncoming= State *mis) PostcopyDiscardState *postcopy_discard_send_init(MigrationState *ms, const char *name) { - PostcopyDiscardState *res =3D g_malloc0(sizeof(PostcopyDiscardState)); + static PostcopyDiscardState res =3D {0}; =20 - if (res) { - res->ramblock_name =3D name; - } + res.ramblock_name =3D name; + res.cur_entry =3D 0; + res.nsentwords =3D 0; + res.nsentcmds =3D 0; =20 - return res; + return &res; } =20 /** @@ -1449,8 +1449,6 @@ void postcopy_discard_send_finish(MigrationState *ms,= PostcopyDiscardState *pds) =20 trace_postcopy_discard_send_finish(pds->ramblock_name, pds->nsentwords, pds->nsentcmds); - - g_free(pds); } =20 /* --=20 2.17.1