From nobody Mon Nov 3 20:15:02 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.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 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1505984439610606.6881013711394; Thu, 21 Sep 2017 02:00:39 -0700 (PDT) Received: from localhost ([::1]:52462 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1duxLa-0004ET-T8 for importer@patchew.org; Thu, 21 Sep 2017 05:00:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48589) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1duxCw-0005Cc-Im for qemu-devel@nongnu.org; Thu, 21 Sep 2017 04:51:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1duxCv-0001Q2-Jj for qemu-devel@nongnu.org; Thu, 21 Sep 2017 04:51:42 -0400 Received: from ozlabs.ru ([107.173.13.209]:54112) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1duxCv-0001CA-Dp for qemu-devel@nongnu.org; Thu, 21 Sep 2017 04:51:41 -0400 Received: from vpl1.ozlabs.ibm.com (localhost [IPv6:::1]) by ozlabs.ru (Postfix) with ESMTP id 47D483A6005A; Thu, 21 Sep 2017 04:52:57 -0400 (EDT) From: Alexey Kardashevskiy To: qemu-devel@nongnu.org Date: Thu, 21 Sep 2017 18:51:10 +1000 Message-Id: <20170921085110.25598-19-aik@ozlabs.ru> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170921085110.25598-1-aik@ozlabs.ru> References: <20170921085110.25598-1-aik@ozlabs.ru> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 107.173.13.209 Subject: [Qemu-devel] [PATCH qemu v5 18/18] memory: Avoid temporary FlatView allocation in a single child case X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alexey Kardashevskiy , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The root MR may be enabled but the only child may be not (this is the case for the PCI bus master address space) so check this and avoid allocating temporary FV if that nested MR is not enabled. This does not make any difference though. Signed-off-by: Alexey Kardashevskiy --- memory.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/memory.c b/memory.c index 5c21563745..bf71f19fec 100644 --- a/memory.c +++ b/memory.c @@ -748,9 +748,14 @@ static FlatView *generate_memory_topology(MemoryRegion= *mr) int i; FlatView *view; bool use_empty =3D false; + MemoryRegion *child =3D QTAILQ_FIRST(&mr->subregions); =20 if (!mr->enabled) { use_empty =3D true; + } else if (child && !child->enabled && + !QTAILQ_NEXT(child, subregions_link) && + !child->addr && int128_eq(child->size, mr->size)) { + use_empty =3D true; } else { view =3D flatview_new(mr); if (mr) { --=20 2.11.0