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 14593C021A4 for ; Sat, 14 Sep 2024 16:04:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6D55A6B007B; Sat, 14 Sep 2024 12:04:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 65E5C6B0082; Sat, 14 Sep 2024 12:04:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4B0D16B0083; Sat, 14 Sep 2024 12:04:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 2AB816B007B for ; Sat, 14 Sep 2024 12:04:44 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id E72661C6F4D for ; Sat, 14 Sep 2024 16:04:43 +0000 (UTC) X-FDA: 82563816846.06.04934A2 Received: from GBR01-LO4-obe.outbound.protection.outlook.com (mail-lo4gbr01on2090.outbound.protection.outlook.com [40.107.122.90]) by imf27.hostedemail.com (Postfix) with ESMTP id 1DCC040015 for ; Sat, 14 Sep 2024 16:04:40 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=garyguo.net header.s=selector1 header.b=wb4KPuxZ; dmarc=none; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf27.hostedemail.com: domain of gary@garyguo.net designates 40.107.122.90 as permitted sender) smtp.mailfrom=gary@garyguo.net ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1726329874; a=rsa-sha256; cv=pass; b=0LDdbfLhzs32Dkz+D6g6hSP0S9J9byURZnuWuTpKL9N7pLuQU+5E8j+FklaKJeahVnRAhE UAldz4KPpTbmL9FzzQ18c6KO1k6f38igrFLoYih3OaIynqdAIaLsAkytaJSIqPYB4zPxG3 lEJ6t96AFM0npoZSzWCLZk9yAxPyg7g= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=garyguo.net header.s=selector1 header.b=wb4KPuxZ; dmarc=none; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf27.hostedemail.com: domain of gary@garyguo.net designates 40.107.122.90 as permitted sender) smtp.mailfrom=gary@garyguo.net ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726329874; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UzkA7AJ4d8V5c12HE+uo9lEbjYqgtS7UCSaTZjJ2pZI=; b=JqpbVqoz53MZ+59W9RjIvK4mcudLva+wy8IQE6QFbsBTBBITLQA6+BhL8u4oF60pzS5B7W /XYJL0chYtSbi6c90N8JutcV3S7I7sF0CDO3gSHO80ngn2rSgn/FE3tAwiqxxN+XwEuZc6 yYFtaNtLT1zDFl3I55yK2TOKJo3K6b0= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CI01WzlTfy9rsARDSYkBWtkj65cC2qPYGT/B+zcvltWC1IyCbZONtADiTchbTFmzvWqOA6yOU54qsisvJN3x4YlSF5xK3N5CfNbxK9TacrRa/wuC8eZH/qfuuYKkwgac0kYYogGuOTgHVWz+DRfqjCid3/ZoMVxONnXtPu0EPK7kGuE903r+/CFj4lyaZNoLbAWij9Jwb4BwyFIh0Zo/Dpi/iCHfXrzdQSLNRdZimvpf4yg0ia2bKCP+KodlurTmpHCx1+KT0fwmC31kX+mPWX8rWgbmKNiN8aePs38zJiyjp6Fy/kq3sOjem2/gBRZQLF3hCwlB+/1D0gMaqne5NQ== 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=UzkA7AJ4d8V5c12HE+uo9lEbjYqgtS7UCSaTZjJ2pZI=; b=sppBun/ZLxiKOFLGkvvfFEXBeWb9IWKc8+cUTbYScUorDUVhQCU7w25pctqzNbHl5eUDWaPXsMaKKcaM2c80J/z8prXpz1xdkYe0Fh6I++pL4lJZIG1co9jTA6rXESP3pxLWSX9y6s2tx+QwZ36hxB2pP58F+7m9a1Ur98ovJu59XW+ChQswIh3WCW3O6tgI+imyvh2yCNI9OvwCJ2gx2dXpE0AOeaY3ERZ60zjqNjx34A/qK/4kReSlFzy5gQ+8QhFsi81kHSSfZek8AeMmp26HOAG9M78J4hzkDynl9LXKoGTexuiYDOxhK0U5ntfT7nSVBko1rvBeBih0eoVmnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=garyguo.net; dmarc=pass action=none header.from=garyguo.net; dkim=pass header.d=garyguo.net; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=garyguo.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UzkA7AJ4d8V5c12HE+uo9lEbjYqgtS7UCSaTZjJ2pZI=; b=wb4KPuxZhE8MIwDN+YMb2KRHBHL6EvEkpfKUoA2tTCPEV2Q6M8jjuppWpQV0M8nDl8xYWbbgEnpClNZyTNmy/3/k66R4pLl87YjFZsQ5CvV3bTqaQGLCHRGIQi3v0TXv345kWgwy434+YMUFzgcBt0lWe60TtvgP7bDm6th+hmA= Received: from LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:253::10) by CWLP265MB2961.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:cc::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.22; Sat, 14 Sep 2024 16:04:37 +0000 Received: from LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM ([fe80::1818:a2bf:38a7:a1e7]) by LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM ([fe80::1818:a2bf:38a7:a1e7%3]) with mapi id 15.20.7962.022; Sat, 14 Sep 2024 16:04:37 +0000 Date: Sat, 14 Sep 2024 17:04:35 +0100 From: Gary Guo To: Alice Ryhl Cc: Miguel Ojeda , Andrew Morton , Dave Chinner , Qi Zheng , Roman Gushchin , Muchun Song , Boqun Feng , " =?UTF-8?B?QmrDtnJu?= Roy Baron" , Benno Lossin , Andreas Hindborg , Trevor Gross , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org Subject: Re: [PATCH] rust: shrinker: add shrinker abstraction Message-ID: <20240914170435.2261a324.gary@garyguo.net> In-Reply-To: <20240914140745.7b0e5d5c.gary@garyguo.net> References: <20240912-shrinker-v1-1-18b7f1253553@google.com> <20240914140745.7b0e5d5c.gary@garyguo.net> X-Mailer: Claws Mail 4.2.0 (GTK 3.24.43; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0226.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1a6::15) To LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:253::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LO2P265MB5183:EE_|CWLP265MB2961:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e1bc03e-b5d6-459c-0771-08dcd4d6eed9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ceisa2+uZ+/AQNb+GpOoBST3PFqcSkZPAU3CcEm+nGE69zABrdYM/OS+8CGa?= =?us-ascii?Q?kDDwzowPUIJZi94dVCW4GqYLUgldEXabZF7/pLOfU4qb9RpLQ+1Xw9QoE9fb?= =?us-ascii?Q?Yg+K8gZFrHSDYrajd7BGvpq0yOGoMNOln9jdMmCQ3o8H7sl97WzFmuBMAmql?= =?us-ascii?Q?5mqA5gy4MbGy0/EStGVCektml3t9Fiiy2Esb++NFbBr4w05HzR/5hASvJlvN?= =?us-ascii?Q?XHnUzm7sWLREU8Qzk++jtEZd/RRla1Jdf9erVKEjd4xx0dXwe4kqmF9UXjA5?= =?us-ascii?Q?ToH0p5k8GNsks4dIG8w5881rdDeQ0SJbVN/ZpdwkBaP7R67dn+sTqMlm21nZ?= =?us-ascii?Q?XrdeqNHSBLeV0UHIN/rfPhcZkPm+iHKvQy60/BGLaNxTxgBdTfave7FX1wgC?= =?us-ascii?Q?WPj+50XOAGZH+u52wXs1FFeafI0Pv5fKJ4bYTXCUbOUZRC1GOSvwjoiklEVa?= =?us-ascii?Q?zw3BNAx0ojcKHyU1c9tintaIaEjNSFet/wfm+NMN6qlhNmJFKdX5/YdUZL/s?= =?us-ascii?Q?eAE4eBmHKyU5U0IZrdambxpwmyxVPF5o+u7xNP3LNPIl9aqWymQS/R+N43An?= =?us-ascii?Q?gEJ1ApfcJMzlYM6mwnqnglSKGbRLVHicuuaemsyqGznYxdcfJtf9IovKRILt?= =?us-ascii?Q?RQiMvjCEWqWA2wi8DjrgEhlkIPRFNpmRDCTFjcW4e1Ij/kG8uIAIwsaQafg3?= =?us-ascii?Q?02ou2QoVlHkNjRPj7fbJ1DDBm09UlPN3uBzPmFAWO7U5QVThA3G6qeIKJXt3?= =?us-ascii?Q?QSn2RFjngBgGKLDKjMd4fgQP7MWLYYGMmFplywNcKUoqGLgZ2TLlDGkGJbze?= =?us-ascii?Q?BzgYRqM50JI5VTrxbqb9hYIHhT42R5tuPh2C0jQRW/Z4yjCgqsG8dIUEcqDU?= =?us-ascii?Q?KYqdXuzqSdTtqR67Q/GBqUUqBpJA3pEzmOZ6H77Ys0hBBr9O+p5qhqnSgXer?= =?us-ascii?Q?NL8NxY+N0J9D5Ltsox7i7YbZ/LoC8IreJfHqCKiarE1nw7O4k4Tx2W2AC379?= =?us-ascii?Q?CBHTT3T6haD/0wSNH9DMfZ4ZyDHC/4WoquHl4oiG0Bv5SmFw1KqD5CIFYNpt?= =?us-ascii?Q?n22CD/bkWPlsd1tIvjq4+X/hKsfrtza2fsjdpZIsHimaEfm0jMaW/Cp138Ho?= =?us-ascii?Q?64lyMfJhrFvOcqMqxMmWyXVTTaeYSBFgwl3TaPYZi/3uAKJx/ZZ1zK5HrwY8?= =?us-ascii?Q?dKLqQohKu04TH1A/1YTRENfCLh2zG6Xjx405c284yBff7K6CG9o1z0/c4Ulf?= =?us-ascii?Q?jpYJrW3/xzKFUzN1a7Nba+2VZMUhgjtqZim30KihIx54es+xw4iYBHDRdkIm?= =?us-ascii?Q?JtMBg0QBl0JaYzXczU6nS909WTLkOZqgT2DMeHwyiu2moA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?hTFffuSFS7hhSssga0hQR7t/jn8rAP3fGRQJ6GIaiZK2hUttqXPG/3pshpFV?= =?us-ascii?Q?BTxygumZdFMBsFcziDBPXLnvMFanLhJxPsEU1pqSFVHnLhCienBsrKm71DCE?= =?us-ascii?Q?rqgtrbelPyPjtKLLb3Fn00hOAX/TBWbI2BuOPRoNAIHupxX0s/0yUcVmUcGa?= =?us-ascii?Q?MIcPdw3e4xccwyci9nvUpKNk4CZDRjm0kJ8c8oUHL/OHppFGv9uBbtx2Z1jo?= =?us-ascii?Q?4B1j8HytEqkDJef5v+tFYYynbl1MbmUqgxW83pkWJo+yqV/2pgAjuwL+dHb6?= =?us-ascii?Q?bRIiuxGy/RlyH5jhubC1FHMs54xLLtROzTV+T55IXdLrQaLD17pnI3hA6oSx?= =?us-ascii?Q?3awx/M1x8QjyY0OrTliBoBuibr7paZ+g6uX1ecOvsXa3bz4x6gGIoBkr/PQH?= =?us-ascii?Q?Gjj9dsYK3l3/Vrnb7zup7LDLzvsJoESukFFhFckoKVx9b6onbZrZos1Yd3kM?= =?us-ascii?Q?JTf/R6ShtnnJAnGeoiv90a8nm/vwUlkJSCCiry264GNzqcT9LfHO9TCxt0+H?= =?us-ascii?Q?Bn/R6CHaGePXnU3Uj2SdVLpRVwYOD4/kDrje4rfryHdOFvuXP60F0Y8UFAzR?= =?us-ascii?Q?aiheGhH917qN9+Y1wk2MnyPICbRaGhMp2ShPBRBkDvCCDpZ2i3WRwLMSZPM2?= =?us-ascii?Q?n6KMCUCYez0GZ4V5Mk0oniZ4qXq7jqIvwk35SaTiwRfVNjbDfhUY2VG5oX2o?= =?us-ascii?Q?17Oe+TRLevTnVooPzQIhRTduiMtO8UKGLJTcazpNGHFl59RfRGzfGZ/UHMqz?= =?us-ascii?Q?fyveA2XkOBHXHCemB1tlDWydtj6Y3wVgKKqRMHYUrLj07zOrCxnZ4bUFLLrE?= =?us-ascii?Q?QMpIeUr9w4RC7iuxp8D+20ahtyACUa1P6L7llvSCglHRPlsvOewpjkxstsqP?= =?us-ascii?Q?1Cyy/KIEjvzbbV4E65bwvFv/1smnRYv+NZI+/KZqjpXHE1v/TxKymAV+Y6um?= =?us-ascii?Q?M6123Dv+CruGrAULdROqHkJFi4Mg94PgtXUZoEACaHbrEvxGobJ1jvFTUAnh?= =?us-ascii?Q?qKpKY68OCBlEEx9hG1a3I73o2BKTJ/a2vzSoz0Ey7ThMFdh5THrcpTXsNln6?= =?us-ascii?Q?0kF0+jeiqrdz1InMzLSp3J3tTVo1twOEExPWbTFFy4MOtLFGe2hd/q9l+/w7?= =?us-ascii?Q?fVga4wLuz9ZcTXHPSpxL4H9niCx9BpzKmchMMC/+GjgUUd8+YDhMeCEf+p2R?= =?us-ascii?Q?NxosSq+PPhKVs8n+zcaRc8PD6l2TSigl7ZLmKTIdZ/Kao2Mk6BzZFVql0Ymn?= =?us-ascii?Q?zZhk3Gf08YqQIUzPLBt0CWgN+DsMlXxelEje4vL7DzRM5DgaopxFUFCft8Fx?= =?us-ascii?Q?oOLktL10J55YvMc+oaac2Y9zr1v9Axc89CRsEQYQI3tfNwEftvvU6NZLHFUa?= =?us-ascii?Q?w/4KPZ44BO9HifS9lnVkLWmI6FgVBU74VXQGNBqXGAydf2Cr9o9CYb1COknF?= =?us-ascii?Q?Mi1TMfzx13uhCkxJHSimgQy7v99XN4iDdL7E/A4YCWPdklwl3yo9BPDN2yoJ?= =?us-ascii?Q?OXeZWAEINKW2DTuhhMWmKtMMwxDlknCaAMcAu/UPMDiqXW/Cz6YuBCI3N7pV?= =?us-ascii?Q?V9XvwtqV93fD1F9Edah3uLh5VMkDkUxGQWHRcvfDLjJpcZDBJaYKHbuLEMgW?= =?us-ascii?Q?5Q=3D=3D?= X-OriginatorOrg: garyguo.net X-MS-Exchange-CrossTenant-Network-Message-Id: 4e1bc03e-b5d6-459c-0771-08dcd4d6eed9 X-MS-Exchange-CrossTenant-AuthSource: LO2P265MB5183.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Sep 2024 16:04:37.6512 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bbc898ad-b10f-4e10-8552-d9377b823d45 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bAk1qHLPoHWDQRd2MC/8c16/sD4iXsTtLf4wP4Rw4qgv8VgXjOCPxluIli4cbJ/Epeq4yCUxa0qaSb/mPWwopA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP265MB2961 X-Rspam-User: X-Stat-Signature: eczxm9qf9naksbuoy7s95kfysk6tsr6g X-Rspamd-Queue-Id: 1DCC040015 X-Rspamd-Server: rspam02 X-HE-Tag: 1726329880-931856 X-HE-Meta: U2FsdGVkX18Xt5RBhNs+/UuO1Lj8NR9sj6STs5lOKIQNXTywsWO6nvfCNOxMZ2o8r/mvyBFtyf+5q3wE6bwpz0eDG/wcRB3dT3f0WeTeJc6pKTrpPFLampSzlpkKRV7teffpQ7EphwmmgfdRlXw/PH+zyGPHlSXIy+k8I4kFAp3bsMZ8Z34PzWL36ZrTe/2UOX2jmFR06uMvAvN3wUAS69dmBVb+lZVvlZ0ZijLn2FMYGfsAPxfO7PJVkV3PPWd0Y97/qvaL8+Mcdyg7dKZ3WeI5gCS6jqxFzZrr9ARFhf1XP2KWbVzQO9NkYoBjGRb+fThWOVXdTG1YaP5KG8Kn85Eot17M/8rVCQFp3/F4y2Ox8EwyGMKNynZ58aZwC3kgzIY6FYgAkA9Arm/M7GgXqmXu0fswKfvyEakZRI4H3PeBjAaPK/JlS1zPNzDq3a32wrj8zi/dvXykoTUX9g3KZWO7tB60VnMBDG4gXbyn+e1QH+aWVinIht5jr4Y8nJ2JiT5XOAIwmKX5pnTrbdELSAmgsXWHqdg+py4+q2j6u8QMDGpPnfoNN6aE7kQFPGhg82jqiV2Rc4MtIJLrwixEOTH/9GaepVeaWPCeWg2sHiWKEECGkPhAd+irNGgCFbGPgoXG89jpLQwQHQsTFAGBMTVpLFE5kD4/1cLkXyhYKLsPcLC5Ba0brBzOlufsC+ETbESRdffCV4EWcTW+LD4eZmItOo2sZf27TawWJHVXyHaFWduYMkhfaPnocOoCjJYrCfmf+jeEyOG5XKpyaIu+MVJMPlomxtpNCKDd31bKMW9ukwlb1LFarCUmatJFPcIoR/CEEnz+OIXYKKGDQjK4nep+miQ9+egjkW3GLGzMm3eeX+zSeKg9P1Kx6jqNCmBc+uOOamVbJGOsFh7bXfHCID1TMIyqo40PWDYjAu2BGWJWYXBLvYzryz9OB+mxx/Ankh2xI8zadcV6VVxZx1X n1PlDeq9 oNogETHf2D3mp1XdE/O63EuilEOt07JchyB33/LsZeiniHysEgwiXk0FQVsZ+ryBGc7ujBm48+UQtwm9ec1QTuN3rrCsJtCvXhaJtannc1+qWs//XYA0/nYHRPr5FskEEO5ZDToZHMEx1Mb97e2lcxmJ+N+UCMahvrsn/GAzGGggE9VQn63TtNYMU2siHSJW3l17hIlD9YoRHHRQQJLr7e7AHzDBFqJ9Xqgn2SwWFnsCwvr0VM8Ajo2es5LDjYUbvIcyLzQKs2VsMvbi8adVx8GgraMN8Cdq8h5hNdvyMY7qcXfN/ONcsVhBtceLn++9lGJg0E9dihxi5q+yGzTWf00xVaL106IAEIgV9tn8gOtrctbX/PQsam9rAqklNhzNUyHl9DoIax33daoQ= X-Bogosity: Ham, tests=bogofilter, spamicity=0.035689, 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 Sat, 14 Sep 2024 14:07:45 +0100 Gary Guo wrote: > > +} > > + > > +/// This struct is used to pass information from page reclaim to the shrinkers. > > +pub struct ShrinkControl<'a> { > > + ptr: NonNull, > > + _phantom: PhantomData<&'a bindings::shrink_control>, > > +} > > I feel like this can just be a wrapper of `Opaque` and > we hand out `&'a ShrinkControl`? Correction: I meant `&'a mut ShrinkControl`. Best, Gary