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 6CE6AC27C4F for ; Fri, 21 Jun 2024 12:39:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF1AD8D016B; Fri, 21 Jun 2024 08:39:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 967538D0138; Fri, 21 Jun 2024 08:39:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A95B8D016B; Fri, 21 Jun 2024 08:39:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 36D058D0138 for ; Fri, 21 Jun 2024 08:39:24 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D6AD41202C2 for ; Fri, 21 Jun 2024 12:39:23 +0000 (UTC) X-FDA: 82254851406.27.6CF9898 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2081.outbound.protection.outlook.com [40.107.95.81]) by imf04.hostedemail.com (Postfix) with ESMTP id 1E41040002 for ; Fri, 21 Jun 2024 12:39:20 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=SHDKBhkz; spf=pass (imf04.hostedemail.com: domain of jgg@nvidia.com designates 40.107.95.81 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=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=1718973556; 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=bTEk9i3Qd7K01n3MeQdKUFaV5+05pL4LE6VcxGjn8Cc=; b=HYHdzMAme5V0oTgQ14cSmwqEb1JI87S/Y7Fhiiz1+/R+oaEAEB3a9rWQDWpLEMcNMY0Hrm Ag++TPsZ9XGLyrQXQlI5wklh8D7S/xlKtzH4niGlKHAvCiFkuVSuEsDlsxRBtKOs4KzHhZ Nfg0T7EmBSKAKD5MjUZAYMmCWrcjrMk= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=SHDKBhkz; spf=pass (imf04.hostedemail.com: domain of jgg@nvidia.com designates 40.107.95.81 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1718973556; a=rsa-sha256; cv=pass; b=JuBRG744Px3WhWLsQkl5kkMFNzdFxDGklobvguQg+CngBmh5qRGAX9xdJMji5z48Xb7Jxj EmmmDCWUi9bkTxCCh5ZFhgl6UYQkiRmMBU75UN4ANX794Tdn1/gY4K3x69wXLW4ODSRgs2 OQh0NPnK8vhWvUzc7dj4YxAB63maEGU= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cZAHSbiGXY6Ipeju00oZ7s7L2ThmNpUiYniB9GvVsNMoC4N8/k1F/TDPWU3Y4ou7Eykxvw1iaiTflIF7DGXEe+GzgCycLG8Jcy0IOEH6DEfRapnJBX17q/vBKYfNoy1evrdLo4mBQNSlllPJApByMWEDWjwAVQ081zik9OlNQrIuW9odDDYnAMbDi3jXqVZRz0UXD3NgmanzlsGbNJD+iHk9h/om2eR+Fu+esxsE3hFJ7dN3AQul5Xw0UDqBow3t7jUeyyDSdmlZgitKGnchBnp3it4WE38yKdbTz0AWkTsh6qxDTpmY4PUcDw77XVnIz82xrYU6FW3HwJY6CoDKdw== 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=bTEk9i3Qd7K01n3MeQdKUFaV5+05pL4LE6VcxGjn8Cc=; b=egIlUYvPcOnsPtgcdybaJlr6xn2qCf6lsEDfSIUGD8aME8h+JkMY53qicjLni/DybAW+ktnr+/ZeTtCVKcEHnUUvzo6AwxgKBZsazTY06G70EUqUc3/TQf+1+SKZ+opIzkrMoGwpsxjgS5qlDvOO0wxerqG5TiK9WGQOzOqUy5yYt3UAstAxUWtBIeqvVaM5C3ppd7uzY8jjKB/TJxY8djbUHI0f4vmwaC/zevTMELS0Zw3u2cTX20WMMto6zYTDcah8GYK6BiBtOnkCAWCQR07wSltqna4UOqvf3K0sQgfVXaPvCQ7lxZrJEcNRnCsflkwYq1WjCJ7eT+3Cen6e9Q== 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=bTEk9i3Qd7K01n3MeQdKUFaV5+05pL4LE6VcxGjn8Cc=; b=SHDKBhkz256apBtKpaM8LHYz5kE9JbWcsQI2tuurIDrFo2tR9R13/OplCTAsqSTwyyidMjWawyWaCY59MqAaMEhB/ZrWwqTENCI3e/a3ZM4DtrqoQ+lRgA3FcyktrvlABvmUsjPHH26euzFtF6um3Pae0csS8KybQn4As3IHfDX5tOxmB1hZ3QJrfmxU/IVnOOqd3f9iRhV7Da5xL8XTyZTESUsirq9gZfTiG+wK2m1r5i1zEc1MNhPEY2L2PUncLNcZyK5JYN6WwwwdnnUHOQicQa2YJkfD++rlwH0HWDj8ba4EcDRW2OG+Z4kU6n2O7BQqFMDnEX5PjKRlClmBYA== Received: from DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) by SA1PR12MB8887.namprd12.prod.outlook.com (2603:10b6:806:386::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.22; Fri, 21 Jun 2024 12:39:17 +0000 Received: from DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::c296:774b:a5fc:965e]) by DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::c296:774b:a5fc:965e%5]) with mapi id 15.20.7677.030; Fri, 21 Jun 2024 12:39:17 +0000 Date: Fri, 21 Jun 2024 09:39:16 -0300 From: Jason Gunthorpe To: Sean Christopherson Cc: David Hildenbrand , Fuad Tabba , Christoph Hellwig , John Hubbard , Elliot Berman , Andrew Morton , Shuah Khan , Matthew Wilcox , maz@kernel.org, kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, pbonzini@redhat.com Subject: Re: [PATCH RFC 0/5] mm/gup: Introduce exclusive GUP pinning Message-ID: <20240621123916.GQ2494510@nvidia.com> References: <20240620135540.GG2494510@nvidia.com> <6d7b180a-9f80-43a4-a4cc-fd79a45d7571@redhat.com> <20240620142956.GI2494510@nvidia.com> <385a5692-ffc8-455e-b371-0449b828b637@redhat.com> <20240620163626.GK2494510@nvidia.com> <66a285fc-e54e-4247-8801-e7e17ad795a6@redhat.com> <20240620231133.GN2494510@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MN2PR16CA0039.namprd16.prod.outlook.com (2603:10b6:208:234::8) To DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB3849:EE_|SA1PR12MB8887:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c2ef56f-1d50-4615-bd4e-08dc91ef2a6c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230037|1800799021|376011|7416011|366013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?DV03B4VV8jUcw4ciWC5h9Z7woVAzEG5f5yHdebWCBe7emoNGP/66GXly8W86?= =?us-ascii?Q?TathOIAB+dOwtUWhC97cH4aHRyPm5Ns6YnDieUdiAPeOC5UY4YvQozH8nlv3?= =?us-ascii?Q?/aUiWFvrZBz3kXM/kk3tTE7ngJjjSPuIfAYNw1GRcV0aO7eoxUY8yAbip32H?= =?us-ascii?Q?ZfWLvkeJleqlPvLhZWPbZu+xtaf+k8m/UaUQD904OFseCNjJsVM8wt2gEDxy?= =?us-ascii?Q?BTDSqqEqj2FD8sWJ21FyW/jRdR3Gdl91Bd6X6j/VVjV0tIZIBcnza4EQb8de?= =?us-ascii?Q?PV6U9ZT6WThe3V3SayyNm1XV8WivdHaT30s6n9aucXvDRFrMMpmzZvyGn0J1?= =?us-ascii?Q?vcfhR2mH3IjFpNF5vN0swH6gXMpXg1P6kLUFTMNWQioK1pXW8pdK2e52IvkP?= =?us-ascii?Q?37JKN6S4FJMvNB/6zx8MfqC6WPAysxnn7WW7LUTngRucy8HPSe5KaGGv95sT?= =?us-ascii?Q?dLd1XJE/spZRurF645z0yjcVRBCN65X8H+Bl6ZUDL3l+IJPhTNCbwI79zx3x?= =?us-ascii?Q?k91JRqVSl9rky2ktWOn+wPCWqUZPe6/QsdnzdFmjmenf/n73TzaljpIP7VtD?= =?us-ascii?Q?bkgrlNblVQ5e0QwJG0fJT4Pu3UELLVLdKD2P73g8LTa6oyHsXwyzDui3JJnn?= =?us-ascii?Q?PA+yCSgxfrEYPRTBqOHSAZu3/VFeb49ybyxghBB+iZQxxN9Zh3KpkpYo+I+V?= =?us-ascii?Q?n393bmAcGF0gEImEfeS2tilK+h3owWJcRu6lW5kO3CkiMABjTT0nOk9M6AQj?= =?us-ascii?Q?K8F+p5spHCGuf6beX1p+FlE0ldl+RSqz9YqxqXWToY/agBl/nltsJH6QnW9m?= =?us-ascii?Q?EEBu/PRQzusvg1WOyH6nedC5KZ3xZyo0DfQpIOY3zqIs1IZa/qEfIu4lvciN?= =?us-ascii?Q?GaFThRAEaM1dLuI4LwPyTpTLetBAKWm1A2i1J9gr8TJBz/TvYmlIu2aH9U8m?= =?us-ascii?Q?brMRBm9DVF+DgoP8riG/O/sSOaRPpJq6DWgmoV+QJDOJkALDC9gH825UZuz6?= =?us-ascii?Q?y6AGeLfNMviBwg8juuQGhPGb5bX/vNHel8C2x1wNpbADbVV+to8Ob1yn4WDm?= =?us-ascii?Q?jbBA9ohxv1QK5bAzodh7jXcbG/VPgvCIa+NsUUkLNE/VEij/xg5G4eleztiw?= =?us-ascii?Q?yHkzcgkMa1NBWFMj9/YCG5kODR+6X/BAfD5Q8u1qWfF8ByeR4502T7xD8/VK?= =?us-ascii?Q?xuscK9NWJ9dat7W22GE4PKQX/Syw1+NFOw+Mrrk1BATmF9z8hnhFWnT670e+?= =?us-ascii?Q?1yfqSupc3hRPY5SRFaiV6ws2Dmlai6BjoFJnkQ6QeOquaYBeyEgzp41JZNxU?= =?us-ascii?Q?rblgROa6kuHWW5tzFVfIY+cW?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB3849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230037)(1800799021)(376011)(7416011)(366013);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?TFUJZnHO+JfxvM3k66yftCRjwrHi1eTo4rFqowiWnI6ToCI/RgeX7KtiE04z?= =?us-ascii?Q?0cLmo4OZxQZwf4C9RND39Dy5j3xYDzIliSim5nD4aCUqIO8Q5NWEJc5fPhwl?= =?us-ascii?Q?KCQli2XRrfdQfBVtUnhm8SSVJhdPH71q2YbQJudzlD62VmoUZp5HLn11gI4G?= =?us-ascii?Q?jrT49yiTMFx5uZ2Q2+lIr2qw5kXjIYQtU74z+Sb7Lv9yHY+ceD+zTt8Jie6V?= =?us-ascii?Q?mkBmzt/5UsNTz6Mk3ic35JxTMoxFb7Sl8zWfJyjslblxZCMmLAadgU/3VWoa?= =?us-ascii?Q?+6c6cG2eCKPARb4ObBVWsxurmLDOU5EDmSe1IsMb8aMo9wjfy5T8XLu8znuz?= =?us-ascii?Q?TtTgrqGZuUurEKJMtd4qEfMkdFBlEzebCZNdYfs3QG+IjorLsxwtE2130YnE?= =?us-ascii?Q?DJjELS0b96ihCU9AjzHScJNz8p7unyAPoxDyZU6hH7PHr84hQwHKeX8V+2XL?= =?us-ascii?Q?uwOV+XNDkGCu5FNDjUvi32c2ZOu1wVuJ/zYlFWJGf7X1Dm/tsJVugnJcAhlE?= =?us-ascii?Q?lLhX0SlQrZoN231wU/WkY1g6pR6Aj4FAjAU/36fECUkFNwlj4IQrimtGiQZC?= =?us-ascii?Q?Ixatb4YnrNdgUh5TfybRo33qrqsi9/mH7RoMjvv4lvJZWRMymneJOCZMLJyJ?= =?us-ascii?Q?qNin2OdRCx7ynmq9umF37+/ACVpK0VISQMy6SabZxIzg7HLqTawxjKo76bMf?= =?us-ascii?Q?2n/39zd7nN3UWbh1kUZiUx3bvqL315YpVwCRUoY6GIl6VzmPAnymTy2cotzP?= =?us-ascii?Q?ev0zed3B4p2wvymjRhVXI79CM/GepTMrmx/K99ZGLqsd2o1yTjL5rnr+6eeK?= =?us-ascii?Q?JNRg+LEF/DPxxZBlPKifKl17EVtTNXYoa5MxhH9gL9mTQ2YGnqoosJoZvFMl?= =?us-ascii?Q?gxwxF6HTQO660l6Yn56grNuYgTXyocNlQsWNl8udI0mDfpe8XCmuDwd0Nykl?= =?us-ascii?Q?qnRZzQbKZCq5cbFWOuhFzU/J4sZ1+i2vT1iFNvbC1+AbAqhJuIkumcA7fEb5?= =?us-ascii?Q?mHEpnQcv/2ZbkIfOdaa/2nNI0Rt5i7hNe1HrAxUE6trv1tauZ4QCIXwyIGrT?= =?us-ascii?Q?OLMvimKFRhPBja+B+AwXnGL8Mm1YKkWCc1yvaqToppitS9epU+8sGZLzaVyH?= =?us-ascii?Q?hMAxmJIOuUeKFtk2rqcEmpGBO1LZL7GNOaf5kah6eqO6SgJROoJfkhoEi3gZ?= =?us-ascii?Q?4LVin7TqG7vhDE0qOOIe8Evmn2Fm+UFVRAc4HvPygxVZ7Xp1WH+T8cmbHVTa?= =?us-ascii?Q?F0dWmoejBxgVV7rYlUziLmjwbAFR/f/DESI2HesJ9Gu3yhQDXXxXrt27gSgk?= =?us-ascii?Q?fPWN0v8bYN/C/GCAGVuugg5yG7+FJA4d+Qoxda+m9QZzNRRzbekd8AH9hm6e?= =?us-ascii?Q?QFUd/e4PYmrGnVZGAWsmEO1HHe2JeKmM/mZHD4wKh5IynjxAWMP6bUXpoEsT?= =?us-ascii?Q?C6mcFcy4GeQD0e8H1ZmPvudC3yTsO/3R/NH1FqEAOKzcPl5bG7dAJlJQIAnT?= =?us-ascii?Q?VTA5182rJ1If5jUK0FDrCjqXJA9GRtMmlI2MLGx2WVAnag3zAmcpKtLHsZrv?= =?us-ascii?Q?YjA56auh2aYNkkThPW0UYzh1vEltwFFgPdFzfnN7?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c2ef56f-1d50-4615-bd4e-08dc91ef2a6c X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3849.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2024 12:39:17.5913 (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: r0fqYaLLp7jBa+xYhohQ7bh57KG46MzkI5PCZq86oc0OfbUpUwF5m2ynrETMC57Z X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8887 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 1E41040002 X-Stat-Signature: zs4jxnkwgmhoqgi6hokbdfypth17cyhj X-HE-Tag: 1718973560-105516 X-HE-Meta: U2FsdGVkX18BRFK/ds0a+UZ6p0jiRhfjzGJIP2NVvtAPKUx1A6oD9JyXe3cdyE9U3lxAAzqaU9gTO9fYx+XGK7UVFXWGGMP2H8c0VbV5IiWR8PZ5N9PJPhPxKMtQLl7rpuiQKRPQTlg5u9vrWL6heBT+mtNm+T+QjRlorpQH8kHxzBtce9l0lmWnsLoaZVF/X3mw8iHV74N+U+rPOv9WJ4NJwL5w/LmG8YbYaarNVEoeBXFFZh8MFYMh6AK91ZxhGeGwqjgyPblxr9zmw8EYZ35HsA3hRorMrldHjEag3izKWhbSxJVv3ABHgpFJMCwYQjt/X53ojzDMwC3JNoPysyjTOid5DGdOiPakzYF65aMX2PzYt7xBvj4wZHO+JsdWH7wEAcuc+/HtXWQWsg+OBS01VAfX0go4026pomfQDRT/G1OCcV+cw0CjgtB4/ZWjnvBuwN4dXOPgpNlxJBk4xG25smxjrJCq8jUh94wu0Ab0K9PuVBCApBEHu3p+SHAA5v9I5wsqabVO17TgOHbaTCocG3r4eR+zA9pEQl5Y6oVoEuUShP+Z+xhQixVXyz/PhKvIyl1IlSJ00M5PNozzd1MvKaz1Qf6E7r3d33ZHQlgxYAwWfhu1YIkWok4PIBXs/z/eTEMSPIxXx70CAH53gAPwbYk+JXI63vvcdkjfgDtMkYg5nAgFCLFZdEYs4NLsoUGHihQc/sX8qc6zMxJONbb7DPlM+L1sOJCRzDhyL6e7PsrkGI7GJExqpG1FeUL7qY5ds/zzTm+EgNjBzUbtToYw61KAH9MKdXB9mYOIilqPPGLrymnoGU9k+dOlD5eEKXVbf23u3qV1QaaiB8lxR94LR3Fxyiwy3tOA74NhXnY70nwNyH70ersVigUoJIYCsawDfZ0UPTfTOrBqUCmajONWcDS3hc+CCfYTKW7OSSMB+lJjVLIb8+TyePfyDB3sa+FqkX1Y00Uc1c8U0kj vb673oTg bU3moTNF/Koy9/7gJnFjrMruLFiA4nIJ9AB7a13x/lIr1OaFz/+2QZMi7Wj54xgL4GYGgniCKQJxjxsuHaCqX0AHb7TlOE9d+DSd/0wGMpL1MuX/B4Ti/Gt8vfZSFv/d4pqev2IuAh/+UXK5b5jua0xMGRybEZOMZqjwUEp5xUdI7XXeFjRq30kMWGWP+IbYe3xih8AlNM7Ntk4wkaulWciXlDAaGto1KKNAQ/myqK+i04RRKOOmDPF6JCA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Jun 20, 2024 at 04:54:00PM -0700, Sean Christopherson wrote: > Heh, and then we'd end up turning memfd into guest_memfd. As I see it, being > able to safely map TDX/SNP/pKVM private memory is a happy side effect that is > possible because guest_memfd isn't subordinate to the primary MMU, but private > memory isn't the core idenity of guest_memfd. IMHO guest memfd still has a very bright line between it and normal memfd. guest mfd is holding all the memory and making it unmovable because it has donated it to some secure world. Unmovable means the mm can't do anything with it in normal ways. For things like David's 'b' where we fragement the pages it also requires guest memfd act as an allocator and completely own the PFNs, including handling free callbacks like ZONE_DEVICE does. memfd on the other hand should always be normal movable allocated kernel memory with full normal folios and it shouldn't act as an allocator. Teaching memfd to hold a huge folio is probably going to be a different approach than teaching guest memfd, I suspect "a" would be a more suitable choice there. You give up the kvm side contiguity, but get full mm integration of the memory. User gets to choose which is more important.. It is not that different than today where VMMs are using hugetlbfs to get unmovable memory. > We could do a subset of those for memfd, but I don't see the point, assuming we > allow mmap() on shared guest_memfd memory. Solving mmap() for VMs that do > private<=>shared conversions is the hard problem to solve. Once that's done, > we'll get support for regular VMs along with the other benefits of guest_memfd > for free (or very close to free). Yes, but I get the feeling that even in the best case for guest memfd you still end up with the non-movable memory and less mm features available. Like if we do movability in a guest memfd space it would have be with some op callback to move the memory via the secure world, and guest memfd would still be pinning all the memory. Quite a different flow than what memfd should do. There may still be merit in teaching memfd how to do huge pages too, though I don't really know. Jason