[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [future abi] [RFC PATCH V3] xen/gnttab: Store frame GFN in struct page_info on Arm


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • From: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Date: Fri, 24 Sep 2021 10:41:51 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=3QfVlt2un1DDm8HNlvp7qY/nnB/5eJ5J7RpyeAoGVS8=; b=DBOlumFH264fjITZG2BOPIA83CpCUaax4hcjNmQXVm29yrpQGxTbPUNOaFoQUjvaqQHGLCQCQh2GR6izzOUJ6tuw6GGmiUuN//JBRGZPg8xP7k687S2nzknD7hJV3F5DXqxn21ocdO4zH70/Kd1ya/WdjmvlaHD2IzSF2AMq0kSmKRgtsPO1LWyzSPZg1bBaSuGUy/phOCZxd0+seXiluy4IYx5DbfCBlJ2rg7rncqgrySCWoHqyVpBYsbgUf4QmlUrCdblEWlP7wZ2ZdZudBVUCmLfl9Ccjn5HD7slfMosyHAcZR1P/MRwCIHm2v9A5iLOYuXK992sH48nCI69oyA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OuEMvmzLM8km5KGc1RV2XxnqsSzkvc0HmVn8KIceW8Onpo7ocglDRtAG+v4tFOYy6L72/vfOu0/j5d/a7UPgZiUtM/d0q03myT9xapXM+CGUNGPKDzn4x2UCcrttfQmGBVkdl6O2dw4tFl2toXCeoxjs+fBfiD4qC9wafwn3BmA6G+4KoNAiqg85LBret2kTnS2Lc3gZWNCQoiUub/FDG3guUFMOX/V1DUfFlcliPP680Xd+Fwm9Bt7gX1CaLyF0rSfW1IjC78dyaqsw2cQsZWs1llEJgdZr0BqkTMDLUyNr4rYmtsv8EkqpQe8Pg4BUkuz6C1CGi5+7b8U8b6U43A==
  • Authentication-results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Oleksandr Tyshchenko <olekstysh@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, "Ian Jackson" <iwj@xxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Fri, 24 Sep 2021 08:42:10 +0000
  • Ironport-data: A9a23:Yks8ZKmskRMcRhrO57bcVv/o5gzjIERdPkR7XQ2eYbSJt1+Wr1Gzt xIeWWGAMv6KZzGmfIh1PN6x9RhUuJXWnNFiTgFprStkRiMWpZLJC+rCIxarNUt+DCFioGGLT Sk6QoOdRCzhZiaE/n9BClVlxJVF/fngqoDUUYYoAQgsA185IMsdoUg7wbdh09Q02YHR7z6l4 rseneWOYDdJ5BYsWo4kw/rrRMRH5amaVJsw5zTSVNgT1LPsvyB94KE3fMldG0DQUIhMdtNWc s6YpF2PEsE1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXee0v0XRYRQR4/ttmHozx+4 MRw5KCSbis1B7zBu+MkXQYCMC5RMbITrdcrIVDn2SCS50jPcn+qyPRyFkAme4Yf/46bA0kXq 6ZecmpUKEne2aTmm9pXScE17ignBNPsM44F/Glp0BnSDOo8QICFSKLPjTNd9Gpr25kQR6yDD yYfQRNgazv6aiZKBnoeBZt5tcjyrSWuUTIN/Tp5ooJoujOOnWSdyoPFMcXXUsyHQ91PmUSVr X6A+H72ajkkM9iYxSuA42ibrObFliPmW6ofDLS9sPVthTW72Wg7GBAQE1yhrpGRiESzRtZeI Ew84Tc1oO4580nDZtvgWxy1plaUsxhaXMBfe8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy hmOhdyBLTtrvb6OVWOG9p+bqDqzPW4eKmpqTTQfUQIP7t3noYcyphHCVNBuFOiylNKdMTb0z jORpS4ynYIPnNUL3KW2+1PAqz+0r52PRQkwjjg7RUr8sFk/PtT8IdX1tx6Ltp6sMbp1UHGQg Sk4ue+y8NkfALKKrSKSGsYCM722sqPt3CLnvXZjGJwo9jKI8nGlfJxN7DwWGHqFIvroaheyP xSO4105CIt7eSLwNP4qP9vZ59ECkPC4fekJQMw4eTanjnJZTwaB4CgmTkqZxWmFfKMEwPxnZ M/znSpBCx8n5UVbINieG7t1PVwDnHlWKYbvqXbTlU/PPV22PiL9dFv9GAHSBt3VFYvdyOkvz /5RNtGR1zJUW/Dkby/c/OY7dA5RdyRhX82p9pALLIZvxzaK/kl7UJc9Jpt7J+RYc1l9zL+Ur hlRpGcCoLYAuZE3AVrTMS0yAF8edZ1+sWg6LUQR0aWAgRAejXKUxP5HLfMfJOB/nMQ6lKIcZ 6RVKq2oX6UUIhyaqmt1UHUIhNE7HPhdrVnVZHTNjflWV8MIejElDfe+JVawqHlSUHDn3Sb8y pX5vj7mrVM4b10KJO7dae61zkP3un4YmeloWFDPLMUVc0LpmLWG4QSo5hPuC81TexjF2BWA0 AOaXUURqeXX+tdn+9jVn6GU6YyuFrImTEZdGmDa65ewNDXboTX/kdMRDr7QcGCPTn7w9YWje f5Rk6P2PsoYkQsYqIF7Cbtqk/4zvoO9u79Aww14N3zXdFD3WKh4K3yL0JAX5K1Az7NUoyWsX UeL9oUIMLmFIpq9QlUQOBAkfqKI0vRNwmve6vE8IUPb4i5r/eXYDRUObkfU0CEEdel7KoIox +slqfU60Q3nh0p4KMuCgwBV63+Ici4KXZI4u8xIG4TskAcqlA1POMSOFi/s7ZiTQNxQKU12c CSMja/PirkAlErPd30/SSrE0eZH3MlcvRlLyBkJJkiTm8qDjfgyhUUD/TMyRwVT7xNGz+MsZ TQ7axwrff2Dr2VymcxOf2GwAAUQVhSW93v4x0YNiGCEHVKjUXbALTFlNOuAlKzDH7mwotSPE Gmk9VvY
  • Ironport-hdrordr: A9a23:QIKye64AIJcneT2TowPXwUuBI+orL9Y04lQ7vn2ZFiY7TiXIra yTdaoguCMc0AxhIE3I6urwQ5VoIEmsv6KdhLN+AV7MZniBhILFFvAA0WKA+UysJ8SdzJ8l6U 4IScEXY7eQbWSS5fyKpzVQeOxQpeVvhZrY4ts2uE0dKT2CBZsQjTtRO0K+KAlbVQNGDZ02GN 63/cxcvQetfnwRc4CSGmQFd/KrnayGqLvWJTo9QzI34giHij2lrJTgFQKD4xsYWzRThZ8/7G n+lRDj7KnLiYD19vac7R6c031loqqg9jJxPr3OtiHTEESvtu+cXvUhZ1RFhkFxnAjg0idvrD CGmWZbAy060QKtQojym2qq5+Co6kdT11byjVCfmnftusr/WXYzDNdAn5tQdl/D51Mnp8wU6t M844u1jesiMfr7plWL2zEIbWAbqmOk5X451eIDhX1WVoUTLLdXsIwE5UtQVJMNBjjz5owrGP RnSJi03ocfTXqKK3TC+mV/yt2lWXo+Wh+AX0gZo8SQlzxbhmpwwUcUzNEW2n0A6JU+QZ9Z4P msCNUgqJheCssNKa5tDuYIRsW6TmTLXBLXKWqXZU/qEakWUki93qIfII9Flt1CXaZ4h6fatK 6xLm+whFRCCH4GU/f+o6Gj2iq9MVmAYQ==
  • Ironport-sdr: frdSI581sgvoyUHsLsyqKL2zJ65Ajsw4Rt0Qp50jVdfsJhnjbUFZs/zDMkpjyO2j5wrDsEtNS8 99vhdQIaY77ht5MjwT6wdPDRfjOuEj8CWkvbKntucthv+igIQJR2ZfuKG/gQzC4t/sPqanus8b kDdQ1+sr9C1K/Nrez15SIlzKtqAmBE57zZJElquX8LOmKWGmPKP7WfHj1PXmpH/qb/+bL9r3eJ 9vy7A6uCFw0Uk0hgD7WSCof82+DXSsOwn8ZOWcc2leAOmTVnqpmlnTRNXYZP6J2hQodrXsbwlt ogwvTS+rlDbcD0U5VkJHBrY0
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Thu, Sep 23, 2021 at 09:59:26PM +0100, Andrew Cooper wrote:
> On 23/09/2021 20:32, Oleksandr Tyshchenko wrote:
> > Suggested-by: Julien Grall <jgrall@xxxxxxxxxx>
> > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
> > ---
> > You can find the related discussions at:
> > https://lore.kernel.org/xen-devel/93d0df14-2c8a-c2e3-8c51-54412190171c@xxxxxxx/
> > https://lore.kernel.org/xen-devel/1628890077-12545-1-git-send-email-olekstysh@xxxxxxxxx/
> > https://lore.kernel.org/xen-devel/1631652245-30746-1-git-send-email-olekstysh@xxxxxxxxx/
> >
> > ! Please note, there is still unresolved locking question here for which
> > I failed to find a suitable solution. So, it is still an RFC !
> 
> Just FYI, I thought I'd share some of the plans for ABI v2.  Obviously
> these plans are future work and don't solve the current problem.
> 
> Guests mapping Xen pages is backwards.  There are reasons why it was
> used for x86 PV guests, but the entire interface should have been design
> differently for x86 HVM.
> 
> In particular, Xen should be mapping guest RAM, rather than the guest
> manipulating the 2nd stage tables to map Xen RAM.  Amongst other things,
> its far far lower overhead.
> 
> 
> A much better design is one where the grant table looks like an MMIO
> device.  The domain builder decides the ABI (v1 vs v2 - none of this
> dynamic switch at runtime nonsense), and picks a block of guest physical
> addresses, which are registered with Xen.  This forms the grant table,
> status table (v2 only), and holes to map into.

I think this could be problematic for identity mapped Arm dom0, as
IIRC in that case grants are mapped so that gfn == mfn in order to
account for the lack of an IOMMU. You could use a bounce buffer, but
that would introduce a big performance penalty.

Other question is whether we want/need to keep such mode going
forward.

Regards, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.