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 3FBADD6ED27 for ; Thu, 21 Nov 2024 13:05:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDAD56B0092; Thu, 21 Nov 2024 08:05:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C8D536B0093; Thu, 21 Nov 2024 08:05:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AB7D66B0095; Thu, 21 Nov 2024 08:05:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 834D26B0092 for ; Thu, 21 Nov 2024 08:05:12 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 2C3034132D for ; Thu, 21 Nov 2024 13:05:12 +0000 (UTC) X-FDA: 82810121268.26.F1802AE Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by imf15.hostedemail.com (Postfix) with ESMTP id AAB82A002B for ; Thu, 21 Nov 2024 13:04:14 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=FqXM+Zx1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=kYssl23U; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf15.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1732194241; a=rsa-sha256; cv=pass; b=LuMU677fVsXNiOK5brOcfAM5RL2IKpZQCowJ84uobW/TQvlBoso68nnmJagMIDQu4AWqvo z3rds9/ip36a0qjiSrde0cJXeANu0/RO0jvqKnhlCjSZCRGmwcI4HJfrgbyvODuxijmhpp +hgxL9l1xeXSHW/8OgnMPJZoTbCBn2g= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=FqXM+Zx1; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=kYssl23U; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf15.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.165.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732194241; 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=lFXdGc1NvJpddLs8CzPHbU5ISZlQoiH+LDyJEVZHiT8=; b=Ay6R/cynCjILi9wfLsdv7GkCnLUAjbXUOdjGNyILHYnVJc8wEj1MlB5/a1qFJfwArLEKFQ ByGMl0LuN1LfAIB/PNE8HhKt0xssbvxJk69Viek9tEWEg+5gqpVU3xwjtJ9u59W4flhZEI USCeceyURrSmxRisUdnoKZ9JB6yVrVA= Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4ALCuEEi022822; Thu, 21 Nov 2024 13:04:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2023-11-20; bh=lFXdGc1NvJpddLs8Cz PHbU5ISZlQoiH+LDyJEVZHiT8=; b=FqXM+Zx1XMjjQQN2Ns7dACSaPm0SusGqtM CbyE0zuRuMKR5dSrC8EByu11a78LSeoBPEswK5k3qLAIIEADfDJQX1BIsAtoHfaG cxFJjKvbA35/4xc0mdiJ6XCQetFsW/QmJnfMlzjN6PJlECYTH6tqYlE+bC9hxfFF GDX6uf5n0k6Iq2o3lfkKa9+mnC3u73H6hsCyFIG1pUe4rwIrKTCIdIWQd5ADYXIr 4ENGGSQ8hd53dx4dYmdZFehilNi4BEtw3OvkXIb/B27aWqRnC+oWmd59zB8JaV5Q OzQd075rAWZY43ABO1HHcuHVOxVcJAPxK0swnm/XZh6On0+PRMYQ== Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta02.appoci.oracle.com [147.154.114.232]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 42xk98scfy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 21 Nov 2024 13:04:55 +0000 (GMT) Received: from pps.filterd (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 4ALC8A1o038041; Thu, 21 Nov 2024 13:04:54 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2045.outbound.protection.outlook.com [104.47.73.45]) by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 42xhubs459-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 21 Nov 2024 13:04:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=La/DOByJT73MmzMH5OO22BFsOKzX9TMKvizRU6ZDDIXsHik+w9qSJC5uw8oR8Sb9jbC3FzwDq6dnKEXKtHcbaEkMLsTKWyxipG206fZ1GIModki0PPMUMn4l90YqqJ4P0RRD9it27iZoSDaJ3c38XefGgngz9y8wK8LilPIA1TY8kYE1Ss4b2+w2SxPsY86PUeJFlIt9CXV3Js6ChM8LRnLM5rhsZz72NmJ4lBVhboHeugepAvZxewrD1+SgoBac5lp48IVZp+TrpZFOXJk0xlbjl1dLu0fFXiQriK16e3fvlvJLTVCSkWeM5Z+gubeB2TyzuO/zNGrh/rxsYI9R8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=lFXdGc1NvJpddLs8CzPHbU5ISZlQoiH+LDyJEVZHiT8=; b=Rzns152jDc4PJDbvLhugNAMZQJqBQlUktMgqRzNZ+ozDqfVCkLBzLWuNV5HRhZXTTtrc/+KOdu61AJ94V0SylQ6F0eHcSXucFGttr683KPpgNJDatNNnMWVwc6akb7+k05BabO7NLpCTAjZzyyUxz2xtoHwNNVEfSLPQsrx4pUdVKgBvoq7N6jKd6+ItDsHLrpvUYd7CiktokFtXyv+jgxw6OssxKWiWCQzSJmxA6mgqnbA/lZUv7j6e8BRnbYTupApKb5oi3In+Newd/Sl/H7faAtEGad0Lxqz2MO0VnmIO+AvxHm5ZBMwisNlDLw1BZroIEPktpJA1cSkGWlBiKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lFXdGc1NvJpddLs8CzPHbU5ISZlQoiH+LDyJEVZHiT8=; b=kYssl23UGUALiE3ry/Uz7n6yU7wV5WuZysIkNIqvpPCRdAnk0AXa3kcLt6CEF5C5URm0i/M/07FRBMP9PBy3aRyl9V0mYhHTyBmQ6T+l0e2kU/BG0A5EiBr+n4E06jA41ybfZaNUAx8EF8TFIHln8//vudVEruCdRhhp2l/7nII= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by DS0PR10MB7341.namprd10.prod.outlook.com (2603:10b6:8:f8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.23; Thu, 21 Nov 2024 13:04:50 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%7]) with mapi id 15.20.8158.023; Thu, 21 Nov 2024 13:04:50 +0000 Date: Thu, 21 Nov 2024 13:04:47 +0000 From: Lorenzo Stoakes To: Alice Ryhl Cc: Miguel Ojeda , Matthew Wilcox , Vlastimil Babka , John Hubbard , "Liam R. Howlett" , Andrew Morton , Greg Kroah-Hartman , Arnd Bergmann , Christian Brauner , Alex Gaynor , Boqun Feng , Gary Guo , =?utf-8?B?QmrDtnJu?= Roy Baron , Benno Lossin , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org, Andreas Hindborg Subject: Re: [PATCH v8 5/7] mm: rust: add mmput_async support Message-ID: <94028b6f-9fd5-45e1-a61a-fb7f7f877e7c@lucifer.local> References: <20241120-vma-v8-0-eb31425da66b@google.com> <20241120-vma-v8-5-eb31425da66b@google.com> <5762ab92-3091-46cf-9565-f59cf917b470@lucifer.local> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5762ab92-3091-46cf-9565-f59cf917b470@lucifer.local> X-ClientProxiedBy: LO4P265CA0327.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:390::10) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|DS0PR10MB7341:EE_ X-MS-Office365-Filtering-Correlation-Id: 323672da-d914-4230-dfdb-08dd0a2d1562 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?uv7Bh8WyVAJDH1wGokfI/zGC7UI3nl3EvfjjUDIChuKikZFtXrTU+7+yyJlk?= =?us-ascii?Q?+fXicE2K3fnO+syLl947hJ6KJ6RuzAbD8hnvccGxEOlaQYwF5uj5JnVwRXOs?= =?us-ascii?Q?LNwcMldokfv1zG3FQHPPDx0mOXqMeQBauLp1k7DlZCXb+cQ6P29N53+rdUfe?= =?us-ascii?Q?Q4mah3iVPP7f4vJ4bED/p/FzccVFdekhy/W/mkjC9YGZfR++I6aSc3zifyYZ?= =?us-ascii?Q?FwMDpRZD/OnVe6FeHnBTgXTLlxeR0XDZsz99VFh2jRnCL/0IAC3Sj4A1QDWw?= =?us-ascii?Q?xs7IfCVd0qx+If6vKbdRoamoXvKc1ksIizhwP20O/yNuB6SN6/7ajAQPDh9i?= =?us-ascii?Q?W7+alCOuJ47RhKF2Vu0PezRhHNW64bPXIluM+B+sLl2jOk2BohR7gOz7jAs8?= =?us-ascii?Q?bmV7nDDHUsiPy8Qp4am5oLaAppt19GhgBP8yyYA/piT40kKn2l+Axq21cMnW?= =?us-ascii?Q?OYI3pX6Ost0A27/CzlQiKsZ1KgQVXZ82pr+lbz3+QVfq7JYGHRr079vE1c/K?= =?us-ascii?Q?85hyeUrgql1NwdqWXl1XdjXQJLioTTMe1ywhFXrCu6hIlRFii1cYEz47lfWn?= =?us-ascii?Q?7cGIihARVl7fW2+ojJRN3mPMn/9h4qR18bPcsDi1UwWDrFSCd698ke/LrcMd?= =?us-ascii?Q?Jvot3VjiTqkGjRYhuSRoRJwiFNP8ZTg67YusFHBja/8oe516TxmYYsUu5CgI?= =?us-ascii?Q?M/ikKfkpqMZTEglO7yBUrs7kYqNZM9bT5rlyCDT4RgJQOBxNMddzzhxUzzKg?= =?us-ascii?Q?qVyjxzqqGC9aRRK7J34U0MI1/0AXOJ7nJMroHgzT0CzEMUlgUrLFn480Y7k3?= =?us-ascii?Q?Mj/JWwQVwGOr0F6J+RefrT9WnOoDz1FAfSTB5XW7+QyQuPHJGN4vTZ3qxRa8?= =?us-ascii?Q?kQhPjZ+l11QAHp7VPhviS+Qp0/KXH/A2u1TAmY5gQpNeinbzfkh7upptKpRj?= =?us-ascii?Q?1t7+SEqyM6rJP1BdL1u2J7uaAxfxmkn8PGog+G8h8g/2KHMBwxP45qbcNQkB?= =?us-ascii?Q?QHf1YzsgtozWWiGTP9p9hNTcrqFrHSNlZxEJLgHDFy9ruXnLDVOOOvPLw1qm?= =?us-ascii?Q?3+hlA9gVmvR6dzZmS6W6hLbrBtYY9n8nFFPooWM3Td11jXNK8Z8Kyn9a75wD?= =?us-ascii?Q?JNYB6lDSQ1+5h1nnRhs0JYjYRVJx0Mb8/vZO6LRdUIBvKQxhNzXvyqXoiouX?= =?us-ascii?Q?dl8zLk0FUL4Ya6wHvd88zQYZnGaRcE98tz7/+qUQHLIPrYVgsw2J6yysyMEY?= =?us-ascii?Q?RSo5vrb+26VVJqSh3ah6eWmeJnKChDwzbZk4UwwxZHRAWnpSgb20i5Vjf2Zc?= =?us-ascii?Q?AwTDP0EaXe9tXngGMKu6KVD0?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?knGIFoRTvdZRHg/peJNiBSrjpvBZcMkJRmfbJ+RdHdPorIpFaJLDtJvXkVoe?= =?us-ascii?Q?tTFkpFZycS9e8NNaEsLr250rKqja70DO8V5bm62OUtXy9xjafwlr/DwgPnW3?= =?us-ascii?Q?gmiBkB0mgq0tCfMWMYS0zzHNH7h99fdmyTLS7ljhovspyvL2DarXoV4cIYNF?= =?us-ascii?Q?ngxjt1M3nj66vyEA2oKTO/nJ7GiiQjKFvmRV4Vs4cSgPrZaqnXzt9YnxTUgN?= =?us-ascii?Q?jzWnmw07cbPAS2+wB6m7qJ3d2L4k7D9LU182ChhkVq3L6TngzfFv/ly/J17W?= =?us-ascii?Q?dCRwDBEfwkowEj3QbTdGWV8+oWL5xQBj7Dyy4Gb+iitXiOH6bbPEebLPFMQ2?= =?us-ascii?Q?J7vojoqLQL/aBnVhVkl6c/N2nEY20FNxJaVEacu4eBDhlapiTLGEwZ/ybwMQ?= =?us-ascii?Q?9XHLrreO8TdJJf2jqR3EppUnH7FN1zRtKGSc1Zhz46HnMnNsPXUGn7c3VKGQ?= =?us-ascii?Q?UqAFmytQOjuH0A6vXPZO17yuGfb0Z2mfMO5HnbHs+yqJRGg0sKRoYO6U3+dY?= =?us-ascii?Q?6P2XY2d2qisyjQ77QsvVi68glgAAMQtVh/KIrxjBN9M1Ds0+Gbx920meNZcx?= =?us-ascii?Q?ZKrIctPhGgoATqAU3KjYkIQPEJGhLa9cHVsXnsfjc6NqIPfYTSb/buuR2oiQ?= =?us-ascii?Q?NngS/NPB77XDOzZuSx6umnFegMUrOLrm2K6v3oX2d/cIUbOL1bcdBH3cFlJ0?= =?us-ascii?Q?KuJInV/A/A4ZKE9cMgvi7xrCMTBWRiZvzcK9c2S2elaCl74PuYO64sGkHH6f?= =?us-ascii?Q?NMGHXKSahcOQ4lyx4MEguYXSow9oYCWsVPvSqoIVoxW/XUpbF96TbEOgXrnW?= =?us-ascii?Q?pvCj99sMewM5jcubUPFCO9QF7tujog5n2gWIqRsC6E4tHXZhTJjeN0JbEoqF?= =?us-ascii?Q?P/yCMxs0whOEOD1NlgchW2uzD7YTlGJvEErSN5bswi5sQKdHvgd911b6MQb3?= =?us-ascii?Q?4sgkiqYSHKSFQWup/1I45tmpWRPlHvlXrvgymN6EpTdn3sHt+eInLNJPFi6l?= =?us-ascii?Q?YBBxf8iQKzF1qPE0H5Ax5fPVm27U+fM39b+G7uQS8V4JcQO9OPGa5ux4CFlr?= =?us-ascii?Q?wuaA3AVOb2k6jVcLJs0pI3/F7h698EekYdL1JsWGNg2BcnxVX/9M5Q5YscSs?= =?us-ascii?Q?HE8GKVP2l/ziLe6Z/GERYVQz7dtsBNbmj4vcq19liX5kak74EdQtTGWpIQi6?= =?us-ascii?Q?vovCbxprkVH9P0PbCVO17G8lvWdF8q2cFWvGvYnnakuvbimL7bDRsQ8O8Yh+?= =?us-ascii?Q?uQs2GfXfVMB+zoB5Kvx8SuXsWy5sdNz1BHNI9mbIfO3ZsVFw1ejQZkcTvXah?= =?us-ascii?Q?Z9Y9ekDyIqj0eRA7I/RWi4sDyCRk4x09J5C5OihQp3ZJhfwVC3ssMhcofOhQ?= =?us-ascii?Q?bNOpC9gr0stWcf/+pXI3jRgh1wZMVMscFo2MAV0KfxjQGSZqE2tdl0kO1d7A?= =?us-ascii?Q?+RKb3FhMfMb2nL8erQT6BOB0UNCL37Os1KVg/C0TlW98LtY0KS5XCP2/ZpBX?= =?us-ascii?Q?M0gNeXC54jT6w+ELOchGU6GiBSYOJ02JspNU1xanSeeGFq0YmXp/HqhuIXxc?= =?us-ascii?Q?fYEINFjjXyB2sBp9oSpmT65FRY2C2k3C0+6lvvkLevSIUQMInQMyjg6aunq+?= =?us-ascii?Q?mQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: wMoe2VIYA/cQ+B4fyoLzRPmDoh0pxLcF+KjImW/OcZS1HiZvtkQyFlmgmFv2fCUzRotCQ1xTJ2FAaSeC22BiLcqTz6uExZt4X3cSOO7Iutoeeu0YpxMg57bxqd67eU1v2Sx4ti3DGwjGXap9hO6plXWHCIpUBa/HvAlWKhQKXfUmSe6YgxyhzsVhuuQeFVYKZFE1R+KLGvawKb9Ma/vhPCtnMcfcQtM6VYbaYBCcL4VT3jMG3199K0qfmrjuZ18HBQHLwLqOlJcnmX6YOCTppgKtlYmxEERj+CG9+HPUU3btU3BOYh1tgQqVN+9jpxWWxSUYrvquq3ykN/Kp9gMFRqEwLCpSpxXGTjqAYmHiiJlvmcQUOEov7vDoJWGPLWspH3nlHafFPCby/56jb/olf44JATX3w0QlxrwRxzg06+yON/a4rFn82/ZM98TnNhsgkpRjK9xwySNFlQfG8OvHhjy/KKiYo8anijvu5QssDVxggAmHfDpOMBF+OxDih3I3N7Bew0wCS4bd8wTrZLHmuC0CFMZQA/BzA/dhlYrkU3yugMQFpdjqsm8izp6dMMcrYTyIiqtgJAVLo+Hz5ceszKFjeABTyKTAoa+ttxcGlb4= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 323672da-d914-4230-dfdb-08dd0a2d1562 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2024 13:04:50.7393 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: p+UwjCxxH5Lc4AStrs8xtw1O021u2WWyqdokFH+HaZY6noSdC8YS/59aJz/ZftPy9Jy3RFdBFP8Ty/7HQ4O02h4y7UYnE6ant3mkDcV40Cs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR10MB7341 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-11-21_09,2024-11-21_01,2024-09-30_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 adultscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2409260000 definitions=main-2411210102 X-Proofpoint-ORIG-GUID: GHUUFWxtEhcIxD7qtiClb7gORAU4IoDR X-Proofpoint-GUID: GHUUFWxtEhcIxD7qtiClb7gORAU4IoDR X-Rspam-User: X-Rspamd-Queue-Id: AAB82A002B X-Rspamd-Server: rspam01 X-Stat-Signature: sz1w4scihkyz4kk37opsw16nhhprt68t X-HE-Tag: 1732194254-41818 X-HE-Meta: U2FsdGVkX180Drab2O406ECvM/A8tBjvpY09oV5H7VOnSlrEDm+iEZPxUfCzR8oBT/ZSaqjCUkk6naAp3v9dme9zyRumoR60zU7gHQ653dsDqL2DDLGPapQKRT6WvAQLYHJXbjKhrUN9Mejm80csEhDP8tEXSI1rlbIRKBiqa4yF1cFfq4eCRxvoaeyERcOuE6W2br05MtX2OrkvgMbgmGqnbqir31aGWZ0yQYvaTos2WMnx1tMkfUJDicJg3q9d7jqvIGZaJxBLYAeh0C939DHH+H+Oh412fWLR0fmtzYtn1b5Fpwo7OZP5l8uYT/PiL4y6ai8fl/84aquhRHvf6JIVG604wc13VJ+izp/yZjYPL93Um39dGaDBl+J/hdnyz69UNMhDCV3pftPsWRaw5DtUjaUmwZzJ5hhwW/8O6LwpCdb1IhFIeYlC2frPQ8g0lKTWgujpAlUoABQuU8sxnIb7FW4ITqBn6pK1H3djdi72nzOcOsFciKR0+NNjRbU6LmqEQo2VsnaLJqfIKTvLWUkF0fZItEUn+v6eVTbHUAfbRRj0Ahu4u8BDizPwdlHocXunv09PYBuAMk5q2hnlsYAJ8Hr08xsXazkACWzH/dY/FW2iJ0EdD5eAmrA+yFg7h8+jZIwmcpj2cerHpajvmvGccGM2VUVFojSAog1LB3IHborrwHucbeuWlcVnlmTuiZ2OC6GbNSH1HT/ANsFL+TrUy8Hpkf3PzXI4VKL+FY+EaULYvNj0l9eUWEly9CkuB2ohlpXKI3r8DM/GeG0ktKX034PZi46RfvoHC86OcAlhbuZqOz9IuxhB1uVJrAIYxMQk/3nZH3uQDZWqil+UCIOYLdtj5BAh1XJP4x88wK6h/BKXVdwKU2A//fFkjAv2ZvQvooG7CG9BdRVYwiGtWy4erRcLN7O7Rp1Yv+BmzDZ7vSAbhYJ73Pa+MJsHRrRKM7Ly6EwBaIG9T0+mU6F pw9lo7dd GMPqj6+pbfI79kBN1N6wu+TeKB8D3Mjtk2I3yuND4Jio5tsabaIoAYdxIdwuxgyPSP+5FGk+im/mcTVcXB3E+yRYtO4eGrriutuJdti23Vy3WyeDuSVyY4dPIhahcZgpEbCKGKKr1bqaiilLsicEc0uAOBf1iO0T3g7tNuqeiGLCq1Y8HIBoOvR9MEQGD9yRuSZx7f+HtQTvWHBM6UvFkgJmjVdrucYGQblbHEI0DIk4J3U3pVaT94u+TzyHCnbNllf0yI/VfamxCDeuvx1740SbZqCef9ihHaAldQa+oe+nNU2uh618PT/8n5t7GwTs+a9vUPp2V/rmkwOfGJVY7y+NI7qkPLdCYAvG8ghdNvkYxjQ+fNXuGqQODIBS30PMdwpjKZEpp9Odd5u3Tz7lmJB8YjILWLdI+z8UClVHxDMb7ifAEWhfSzAR4/ajFDTYwiv6Z2YnqGHbrxlXgibsLQR1K2AxwL7eC88VR8bSYAzkZWAplLTtaB+U788OcDW7CwN7ohNTEnUScAb/8Ch8EkunKNLxi+Qaein3cFcbiioIOHI441wqcoC6XfHnGb/1z0wt0U1t/HU/8D7JyYxdzhaeoZWd+QTHAQqnlUUX9inpyFOmYxJrZxB+akZDukeV4KOjBx6if3OUto3xyVwZfnroEVe/QnXVLzMb/5Q/5qWUkXJXyElCJg5OLPqs5RnYU5G/QwhOYJjKqBLT28ufUfesLMCWWerGCpGv4YnVRjByZweva5X9Wjyft25wN665MCggx4UCpNZUiDOIfMajYNuxrTPQiwfkThEBZEwfXc7IgH5f0b7qBiiqE+BQ1HZtJg01s 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 Wed, Nov 20, 2024 at 07:46:46PM +0000, Lorenzo Stoakes wrote: > On Wed, Nov 20, 2024 at 02:49:59PM +0000, Alice Ryhl wrote: > > Adds an MmWithUserAsync type that uses mmput_async when dropped but is > > otherwise identical to MmWithUser. This has to be done using a separate > > type because the thing we are changing is the destructor. > > > > Rust Binder needs this to avoid a certain deadlock. See commit > > 9a9ab0d96362 ("binder: fix race between mmput() and do_exit()") for > > details. It's also needed in the shrinker to avoid cleaning up the mm in > > the shrinker's context. > > Oh Lord, I didn't even know this existed... I see it was (re-)added in commit > a1b2289cef92 ("android: binder: drop lru lock in isolate callback") back in 2017 > so quite a history of being necessary for binder. > > I see mmdrop_async(), I guess that's not needed for anything binder-ish? A quick > look in the code suggests this is invoked in free_signal_struct() and is there > due to some softirq stuff on x86... so yeah I guess not :) > > > > > Signed-off-by: Alice Ryhl Other than queries, looks good to me from mm side so: Acked-by: Lorenzo Stoakes (for mm bits) > > --- > > rust/kernel/mm.rs | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 49 insertions(+) > > > > diff --git a/rust/kernel/mm.rs b/rust/kernel/mm.rs > > index a15acb546f68..f800b6c244cd 100644 > > --- a/rust/kernel/mm.rs > > +++ b/rust/kernel/mm.rs > > @@ -98,6 +98,48 @@ fn deref(&self) -> &Mm { > > } > > } > > > > +/// A wrapper for the kernel's `struct mm_struct`. > > +/// > > +/// This type is identical to `MmWithUser` except that it uses `mmput_async` when dropping a > > +/// refcount. This means that the destructor of `ARef` is safe to call in atomic > > +/// context. > > +/// > > +/// # Invariants > > +/// > > +/// Values of this type are always refcounted using `mmget`. The value of `mm_users` is non-zero. > > +#[repr(transparent)] > > +pub struct MmWithUserAsync { > > + mm: MmWithUser, > > +} > > + > > +// SAFETY: It is safe to call `mmput_async` on another thread than where `mmget` was called. > > +unsafe impl Send for MmWithUserAsync {} > > +// SAFETY: All methods on `MmWithUserAsync` can be called in parallel from several threads. > > +unsafe impl Sync for MmWithUserAsync {} > > + > > +// SAFETY: By the type invariants, this type is always refcounted. > > +unsafe impl AlwaysRefCounted for MmWithUserAsync { > > + fn inc_ref(&self) { > > + // SAFETY: The pointer is valid since self is a reference. > > + unsafe { bindings::mmget(self.as_raw()) }; > > + } > > + > > + unsafe fn dec_ref(obj: NonNull) { > > + // SAFETY: The caller is giving up their refcount. > > + unsafe { bindings::mmput_async(obj.cast().as_ptr()) }; > > + } > > +} > > + > > +// Make all `MmWithUser` methods available on `MmWithUserAsync`. > > +impl Deref for MmWithUserAsync { > > + type Target = MmWithUser; > > + > > + #[inline] > > + fn deref(&self) -> &MmWithUser { > > + &self.mm > > + } > > +} > > + > > // These methods are safe to call even if `mm_users` is zero. > > impl Mm { > > /// Call `mmgrab` on `current.mm`. > > @@ -171,6 +213,13 @@ pub unsafe fn from_raw<'a>(ptr: *const bindings::mm_struct) -> &'a MmWithUser { > > unsafe { &*ptr.cast() } > > } > > > > + /// Use `mmput_async` when dropping this refcount. > > + #[inline] > > + pub fn use_mmput_async(me: ARef) -> ARef { > > Again, nitty, but I wonder if this should be as_xxx()? > > But I guess this makes sense too. > > > + // SAFETY: The layouts and invariants are compatible. > > + unsafe { ARef::from_raw(ARef::into_raw(me).cast()) } > > + } > > + > > /// Try to lock the vma read lock under rcu. > > /// > > /// If this operation fails, the vma may still exist. In that case, you should take the mmap > > > > -- > > 2.47.0.371.ga323438b13-goog > >