From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4A42C433B4 for ; Thu, 13 May 2021 22:28:02 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 82E3C61354 for ; Thu, 13 May 2021 22:28:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 82E3C61354 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.127082.238763 (Exim 4.92) (envelope-from ) id 1lhJo2-000537-QY; Thu, 13 May 2021 22:27:46 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 127082.238763; Thu, 13 May 2021 22:27:46 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lhJo2-000530-Lj; Thu, 13 May 2021 22:27:46 +0000 Received: by outflank-mailman (input) for mailman id 127082; Thu, 13 May 2021 22:27:44 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lhJo0-00052u-Pu for xen-devel@lists.xenproject.org; Thu, 13 May 2021 22:27:44 +0000 Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id eca2f0c2-d48f-4ec2-b447-bda0ece8ea24; Thu, 13 May 2021 22:27:44 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 0FC3161396; Thu, 13 May 2021 22:27:43 +0000 (UTC) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: eca2f0c2-d48f-4ec2-b447-bda0ece8ea24 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620944863; bh=kSvMpuSvfKZ36WVRmixfgj1PowjjluhXCUNLL+3vFXY=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=Cp1AdoE028S7Gq+S03bu9kN1sqGyf268NlVt6EitqtiArJaZtndWwEwOOQFYrlyI5 ClSudX1mMAUOQhVahvwX7MKYaJnzy1Y/lkgOvwLllOvNa1DIDzyQm6dFwJKR7pkN8U 927RwggVajIqQGVOdECRq/ODZBV1lUN/hAmiWqpWevZm0Qpni7CLZRlNAyqKJ/6dRM Xl97/Pl4WI8UjmNz+pMYkzjNl8XPOuWGnJlExAcvkvyL6wiK/V7SFQDfmCGUvlr2bv YJ7TuNMMe1oaG4EXJIMZgWwvLEDHXBWZAMQ+dvcXonKG5v3ygXQHMaH7EJuk8Izigw ohygEV4kQDISQ== Date: Thu, 13 May 2021 15:27:42 -0700 (PDT) From: Stefano Stabellini X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s To: Julien Grall cc: Stefano Stabellini , xen-devel@lists.xenproject.org, Wei.Chen@arm.com, Henry.Wang@arm.com, Penny.Zheng@arm.com, Bertrand.Marquis@arm.com, Julien Grall , Volodymyr Babchuk Subject: Re: [PATCH RFCv2 10/15] xen/arm: mm: Allocate xen page tables in domheap rather than xenheap In-Reply-To: <9429bec0-8706-42b9-cda6-77adde961235@xen.org> Message-ID: References: <20210425201318.15447-1-julien@xen.org> <20210425201318.15447-11-julien@xen.org> <9429bec0-8706-42b9-cda6-77adde961235@xen.org> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII On Thu, 13 May 2021, Julien Grall wrote: > Hi Stefano, > > On 12/05/2021 23:44, Stefano Stabellini wrote: > > On Sun, 25 Apr 2021, Julien Grall wrote: > > > From: Julien Grall > > > > > > xen_{un,}map_table() already uses the helper to map/unmap pages > > > on-demand (note this is currently a NOP on arm64). So switching to > > > domheap don't have any disavantage. > > > > > > But this as the benefit: > > > - to keep the page tables unmapped if an arch decided to do so > > > - reduce xenheap use on arm32 which can be pretty small > > > > > > Signed-off-by: Julien Grall > > > > Thanks for the patch. It looks OK but let me ask a couple of questions > > to clarify my doubts. > > > > This change should have no impact to arm64, right? > > > > For arm32, I wonder why we were using map_domain_page before in > > xen_map_table: it wasn't necessary, was it? In fact, one could even say > > that it was wrong? > In xen_map_table() we need to be able to map pages from Xen binary, xenheap... > On arm64, we would be able to use mfn_to_virt() because everything is mapped > in Xen. But that's not the case on arm32. So we need a way to map anything > easily. > > The only difference between xenheap and domheap are the former is always > mapped while the latter may not be. So one can also view a xenheap page as a > glorified domheap. > > I also don't really want to create yet another interface to map pages (we have > vmap(), map_domain_page(), map_domain_global_page()...). So, when I > implemented xen_map_table() a couple of years ago, I came to the conclusion > that this is a convenient (ab)use of the interface. Got it. Repeating to check if I see the full picture. On ARM64 there are no changes. On ARM32, at runtime there are no changes mapping/unmapping pages because xen_map_table is already mapping all pages using domheap, even xenheap pages are mapped as domheap; so this patch makes no difference in mapping/unmapping, correct? The only difference is that on arm32 we are using domheap to allocate the pages, which is a different (larger) pool.