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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2369CC77B72 for ; Wed, 12 Apr 2023 13:01:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9E6BA6B0074; Wed, 12 Apr 2023 09:01:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 99786900003; Wed, 12 Apr 2023 09:01:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 837D6900002; Wed, 12 Apr 2023 09:01:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 747086B0074 for ; Wed, 12 Apr 2023 09:01:42 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 433108012B for ; Wed, 12 Apr 2023 13:01:42 +0000 (UTC) X-FDA: 80672750844.09.4F60B7A Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2041.outbound.protection.outlook.com [40.107.93.41]) by imf19.hostedemail.com (Postfix) with ESMTP id 0F7E81A002F for ; Wed, 12 Apr 2023 13:01:38 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=qqzEz73c; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf19.hostedemail.com: domain of jgg@nvidia.com designates 40.107.93.41 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681304499; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=On7YhGB5wUuDonglbWwjk27jjBEeMEjXjAFWJafsxlA=; b=CRkh5IR+2VlbqFqqeGrexAYip0Nn/mU8158LgFSQLvq1wKcgs0qDNNwyjWXjYVaq/Fsbr8 yYQXvRQnjevX63XInH6C6pvToDbmPtUnlxo0df08t9QEqtCFh1ElikASsYnYkJocUo/NTd zZCHPk2RiHUAp9RxI7soohGe9fgKOsE= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=qqzEz73c; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf19.hostedemail.com: domain of jgg@nvidia.com designates 40.107.93.41 as permitted sender) smtp.mailfrom=jgg@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1681304499; a=rsa-sha256; cv=pass; b=Q8SvlGRhvEpuGwCBqX6bzqexgdQqXDGVmiua6o7ff9ItofaZDP894ed60iTnFWFyTjIghD l4W1HMlx270vqpYo+h57o9Gn1lykwLG9tWr6rFZOnIvjO1GiPDy2j+A2KZVY9Z9PCNpIdG 8BkSikHB8k+P78f/IfmTLODU/zrGyHY= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LRjjhedzZ5c/ozP5tuZj9A6DWtDY+nd+k3bY5ki1fPjSuPPYPNGmfjXz33FHynuGNc7POrFvF7HTeByKkxOJhVeUppVNL98aCGHrCOo/CgiBRbB+aiaJjmlT1Rtu/YCEdz3EiPYXL9q4aYNHjt6mhn0TDDOo69kHyDfXgu0LfXzJA5wml9ebEGvbyBvRB5BwWu9ftXi/5Se7D1VnSFVLqAil9kDRW3GMYsqJLC9qoxByV/aC8YTc5Sc5MvIciDCzMgkf3FvcFgr/EXhKqNDUvrFFrWlwdTvERv9OSBBDXKuae0k5qUc5U0sPy16oB4UDfy2ez9fnTz61BnDbz6Apvg== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=On7YhGB5wUuDonglbWwjk27jjBEeMEjXjAFWJafsxlA=; b=Snc2gzUN5W10ocWhvCh5CNAsd3Ck3gCN7Nw9TegRnAvc3D/tLPxUFu+tDfIfgiEpL28fPfqHjv18y7gqCqrO2nKi1YQvckIbeD5DJ3HU6u7xmpKNwrGfCNigTGuxxjfy4QaxdJC2/g1YiWVYQv9SNLlUi4oNsf3BW73VpNV6y4gQUpeFJeZx9zgoS5YN2gRplwi+VZZmjkRYFpdg55c4B9GmUTXj3f0Ssi18Z8RPpbS9UbjjXsOmRat2UDQPp5mu2UluacuJ9FEn0J5ZqeOvPIJPkFEDMN7NaKTXH6zPOcHQEM3XQlg1mfAPx75Z+B1fdjQQL9t0ohWQb+RpzH2UTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=On7YhGB5wUuDonglbWwjk27jjBEeMEjXjAFWJafsxlA=; b=qqzEz73cSrmrXUBTOvMgTDKeTaHWEX9h/O0zh+sI5TVSDrk1Oi3MNsTbULIn16GjAxIyQ+ODydyNnV6Zi7KDDMyR8xq99AG2hoAR2hr9I8h/r5Owcj1h9wSHJToHkyFsnlGg7E0+qUYV6UMJLwOhNU5OXZ58HPoJJtNkh9v/P6AoVmmfTTEiCUiKldwbCanUXEN4BKNSbJ1HKKGiHOm69dsEfRZqpyJd6Pyn79gbrQfL24MJWYoxQAtVkD922UkoogkRSj1LOiODPR4u6fud+puorSpXAuk6wSYBaaPTuot4H/0xAWAf6mzV1gPNUgWKYKupUWo7akEkIU9YMjJTAA== Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by IA0PR12MB8906.namprd12.prod.outlook.com (2603:10b6:208:481::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.28; Wed, 12 Apr 2023 13:01:36 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::6045:ad97:10b7:62a2]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::6045:ad97:10b7:62a2%9]) with mapi id 15.20.6277.038; Wed, 12 Apr 2023 13:01:36 +0000 Date: Wed, 12 Apr 2023 10:01:33 -0300 From: Jason Gunthorpe To: Marc Zyngier Cc: ankita@nvidia.com, alex.williamson@redhat.com, naoya.horiguchi@nec.com, oliver.upton@linux.dev, aniketa@nvidia.com, cjia@nvidia.com, kwankhede@nvidia.com, targupta@nvidia.com, vsethi@nvidia.com, acurrid@nvidia.com, apopple@nvidia.com, jhubbard@nvidia.com, danw@nvidia.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org Subject: Re: [PATCH v3 1/6] kvm: determine memory type from VMA Message-ID: References: <20230405180134.16932-1-ankita@nvidia.com> <20230405180134.16932-2-ankita@nvidia.com> <86r0spl18x.wl-maz@kernel.org> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86r0spl18x.wl-maz@kernel.org> X-ClientProxiedBy: SJ0PR03CA0387.namprd03.prod.outlook.com (2603:10b6:a03:3a1::32) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|IA0PR12MB8906:EE_ X-MS-Office365-Filtering-Correlation-Id: 890c33a8-c11b-46d7-2a95-08db3b560c40 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M2HrxIYfNDhXq+z1v/A945Z38U/M7RUvMvVNH2D6dOR8GVag2LJ9w30UaUW1tS1O/KkinAZtUnCT22t+2xvWxT0NyjFUaYSePuHQRV6WVA+RD/s1jXNXml2kHmdzp15U7QHPvs+aimW47Znq6a8N0RFScbOUch+UH1pf7/zhdCWjlAEISJ9+lDDwcdOOFXrg/nb9aTRhktP11WQwfqdU073yPdpeYRSviS1b25C9LFDZ5wLa/80jWyixfqJf4nsoLAH0VDkMU1HoVDBJb0kOjUjcg5NTBMbr6MqpNu8b33/qNUgmA/L/Yu5e6Qg6BkG5RIzKhS/cMMp9bd+T8odkMK5q6EbpHiNQwTdnzSPPmFwI+F4qqhl0iPUqqEtexfNwjdcvjLo/8q5pSNmUOYwb09KPk90OUtV2i+jmVR0ByYVIuWIegB66RZYzsiVmEdZmd3VAicGuSDXFiU3xV7tuu5L3B96wLyVE+zUS9JJ3z/3EtCtZBtd5U8EnptIOhKv6NJBpRck+pqSolPTdOEsIyXiaBux2YW++2cf5Iz6oInnWJaVodtyhnOdcuMf3xrgetSSQNDn/zzpC8k6+TFzkR0cKChFwAfZcHis+/uayyzw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(39860400002)(376002)(366004)(396003)(136003)(84040400005)(451199021)(6506007)(6512007)(4326008)(6916009)(6486002)(86362001)(6666004)(5660300002)(8676002)(36756003)(8936002)(41300700001)(316002)(4744005)(478600001)(66476007)(66556008)(66946007)(2906002)(38100700002)(26005)(186003)(2616005)(67856001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kyBSMxjfGEXSPEPMNnOvL1tko02uEcnpL8wxccB0M4ZuLdJtAZJuvTrJdPp6?= =?us-ascii?Q?d79l6SMhtsIhMsgqCpr8MI2K/QMesda1dcOpn85254gl8hK5x4Dh5MTRB6Sh?= =?us-ascii?Q?mjArov4XjM6PXqVUUe9Jd/WSszv8G9b22Rrmjm7yhj39yehxlGzNsu/ReiBD?= =?us-ascii?Q?ac2vd04/fM3NutfW2o1tNHIalRIOV7cjIK0c30goS2Pdf1D1R3VPoLWu9GP6?= =?us-ascii?Q?/A03A93Hnd+YQctYfd6H3dRq1hRVrzC511Qsa6Sf6ExCAu+rs7NEMx0IwoMn?= =?us-ascii?Q?m2c7v8lqtSLrkOb+xZGx7ltWDlF03kMMesHnjP/phQ1f2e8b43zeSFahIu6M?= =?us-ascii?Q?wkSROUYZjH+GHyOrTNwyOO+Cnwxfeg1HPCz85DALKtZo/ARM+RmOvou4nVAk?= =?us-ascii?Q?d9s2m1/nm0Kc/YTuGPuEbGF2RlLgH5ZopzknWz1dKlkPx3wPDMHWWeslwtVF?= =?us-ascii?Q?ahfK4I2OMCd1XkowW+QF5nPbVIQQCv+MD6CZ3cWnjPf0FqzP4DQX0Y2Y3Hdi?= =?us-ascii?Q?41muX1pMseZ9irdtsEjDZMPjzeNrNBeBGqNJ6Lh32RdvmuImHo5xOP+uxz0E?= =?us-ascii?Q?5vqJL2vIcbRxoFicNU390n3Ph3/Lrm5l15cmw6PB8pC0rSTBS1kSJ7OiIflW?= =?us-ascii?Q?2sRyon0TSqU/c/gSbMwvV0J5+bB7HIeiOKyAZSlbJKB77kfyQMU3fwsytgR2?= =?us-ascii?Q?BWp6fIxDwlwYh6qBvq1Wl4godPebj/ykeX4799ZVRQON3mEeXNYZh3qyqKcr?= =?us-ascii?Q?Yo7xiNhzJornCwNPtRP93TWpC6wz0SHNBJxwfmuIMPIpkg1rqgUEyp/Q1ZGO?= =?us-ascii?Q?33KytGtEvRrq2hApAqEQI7VdCAeT+2vmF4F0dCeIq4ahRuMDiHe9zkPtbdAm?= =?us-ascii?Q?74RCQ1ayE6giMxipRxYe9e0o5uvcS7jXFFHFo3Pc4cyQpdX/OWbzs3aSn2CT?= =?us-ascii?Q?o953Y3kviZ6zhMHPQGRSviT2F0qm8rbbU0pBWJ9W6MBO4XzxvnOlAHgE5MQH?= =?us-ascii?Q?nn/WFU72Rjh/TSon7mUfOWGnEN4xE7bQwFpYnT8G74yxPTKBf/J8KGUWad0j?= =?us-ascii?Q?HMRcDJpGhFpmLia9ZdYsu+dAwvhAUw2lMTxobB/f5K2GEu09B/6L3r7yqwNA?= =?us-ascii?Q?A9+dB0nXJRi54EXqs6FEXEYrNbie3ltxw6L5AjhyVAWnWJ1tlrAmod97GNNg?= =?us-ascii?Q?GKuXWY8qd5IjjKq6Z74ofnwYGvFri/l98A9tjsqea0jNgF1BG23sGnwIbEiS?= =?us-ascii?Q?8YGsszTjzZLexyKnYhwExN3qv9NJ2tEVezvRYV9fe9DBYcopvhrUxaIXZmUo?= =?us-ascii?Q?i06MqehQWRUDu4dBYASIqZe06jZkECz6XGr7GV3K1RmPSRjmnM1NkJfZdcfM?= =?us-ascii?Q?eZ37ZYkZhqag/oxxmLll7Ucd9PuDFILCELrMHKU3ilG1uwoQSGpr+0V61+IZ?= =?us-ascii?Q?ezmKnpVNJgpPgwVPhfzGBYM33rBoz6PJzD9KLwljo+PKXCgcnmZ6RL499kXV?= =?us-ascii?Q?m2N0dlAIxqQECbzVQFlr2ytfhzgPKWo8RaydP5/qhmaDhEZN8YIXhwH/DB8H?= =?us-ascii?Q?jDhth6/+llgoBuf/n4ZQEbIP6FtoT0CObtkGd+Xv?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 890c33a8-c11b-46d7-2a95-08db3b560c40 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2023 13:01:36.3795 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: npvKj0LiFF9gj3v6v8W5upWbfCd3fi3EkZPS8Ch2Et0xDvhhcebx+dWAcrED1OeQ X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8906 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 0F7E81A002F X-Stat-Signature: u6bgea4if9tazpebrnjhe65gehnt4t7a X-HE-Tag: 1681304498-282851 X-HE-Meta: U2FsdGVkX18LzATvG7foZ0jeyFl13iiXCCy049KKUb/7iqylcA1s5JB05mwurSKlHNBxnd2mybHhAjEl/M769+r2pyu4Fuy2o4LdB9l1wbDXUIC3Sk69pJRrzxhslfnNRpXqzQmbPdBdNWo2eo28CerhIALDNddgCBLct0iMvJIuNeo5ywqNJWhrq90e2ruTlc1mCUNmfDRQcD16ce38IPL6ZSX0DcZPbaK293uSVk0mpeBIVoXiIjKdFYp3YjOktT+DMAWTRcdUahCHiifCx2SbavZqKlsWBGlDBuPjTDm43VNQzt68BfwYt6Vg2WDHwVcnG5HZDntYpzp+8RgdUz3esM5r/hV4QrQqGMXB8aMLvjWrzkyQR6/cHj3tKZPh1IpJSgkzG5WEkP10KSHERWZ/sTNSeml8q4n4Y3bdNb6CervS9Ey7K8Q7QzgCAltqGYqRsSSsP6+7omNhtQ6Bziyxy7wwrQCFSGPv5fHCLGzR9VOcBOtAEqRKZQ8/FmMaNbGYRx+7lXMiK2DHUAj/1d0hkmYJ7lE77f89M22ozaO/FBPWHyqtYUCfN33PGREu4Xk7Yt9uhjYV0GCFXEx4kD0B/eAbN8mnzwEV/MD8utLy5oCH04Ov0uYHYPTeh8s8qRLZWWVXx78qx1iapfoioUOQ2UsKgl9yU8zKup7kFmctew2BsAQDZncdBZr53d5TJPuYQE5go6HjQ8qXlATskYZZMuWyxk9FkEcdJ7Op8xCdCqIWroNxxOUL5VodDQOhHR8SnsVWi4Gw14v0UkoQYktVW2eUhz0IRbQh8oNXrRLuclRbaC0XdXU1x+BT6b1j3S0pbu3DUsjoCg8JJYS1fX/eA8ZSxplGNve4sSZQXzFwV3BmN7FgIgVXZNcKxq2+7h5yiqKPtQcvB7A4d7Q10oAPZePXvvCck503NKt/2wC7pdKZMAzuzwBiyABzTZylNuvrvFpUvjng3BNBtgW U3SH9764 HxtHNhetRMbXUu4UmiLq4ci8VnuLrhgmh4iSYKoLPEVmCNxhl1Jwjn2xUvaAF4DIIw2DEDF+JUB6QuxHRZ9b7YtmP/rTVIWrtCJ0N16FGwixogIuQS68U2vTKsYdXCb2V3xoyq/w4mPvCXe4mM89jFqgh456y3HUfnEiWFGhxuLgdqIYR4BEMSWh0FkvSaMU9JPVlt7jWwYi4csu/rGrq1SplyiVcEPiwI759BWjyRN1MSUt9SNMF9rH+e/k7o/wrqP2r X-Bogosity: Ham, tests=bogofilter, spamicity=0.000024, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Apr 12, 2023 at 01:43:26PM +0100, Marc Zyngier wrote: > What makes it safe? How does VFIO ensures that the memory type used is > correct in all circumstances? This has to hold for *ANY* device, not > just your favourite toy of the day. Nothing in this patch is horribly > wrong, but the above question must be answered before we can consider > any of this. In VFIO we now have the concept of "variant drivers" which work with specific PCI IDs. The variant drivers can inject device specific knowledge into VFIO. In this series the driver injects the cachable pgprot when it creates some of the VMAs because it knows the PCI IDs it supports, parses the ACPI description, and knows for sure that the memory it puts in the cachable VMA is linked with a cache coherent interconnect. The generic vfio-pci path is not changed, so 'any device' is not relevant here. Jason