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 B0CB2D711C9 for ; Wed, 20 Nov 2024 17:26:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A1AE6B00A7; Wed, 20 Nov 2024 12:26:07 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 378626B00A8; Wed, 20 Nov 2024 12:26:07 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1CCE06B00A9; Wed, 20 Nov 2024 12:26:07 -0500 (EST) 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 EE0DD6B00A7 for ; Wed, 20 Nov 2024 12:26:06 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B7315140E63 for ; Wed, 20 Nov 2024 17:26:06 +0000 (UTC) X-FDA: 82807148886.01.5DA7320 Received: from relay.hostedemail.com (unirelay08 [10.200.18.71]) by imf24.hostedemail.com (Postfix) with ESMTP id 05854180014 for ; Wed, 20 Nov 2024 17:25:56 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; arc=pass ("hostedemail.com:s=arc-20220608:i=2") ARC-Seal: i=3; s=arc-20220608; d=hostedemail.com; t=1732123496; a=rsa-sha256; cv=pass; b=AD5Kb7mORlu6uOYFhYjtLNikpDA4Nfay8HY+S6ozkWrogvcymyX4/9BeuPKKem9F63QWJb 0CpfQdIzcSC1f2EG+mrwfiwk5WBWNFO+q6+TJyBOZ6oBgXvt85Fy9lxKccee/FH4YWn7oz lb2jAbQVrsnD6NM+G0z1ORya4pCYYq4= ARC-Authentication-Results: i=3; imf24.hostedemail.com; arc=pass ("hostedemail.com:s=arc-20220608:i=2") ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732123496; 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=z30aspXEoBEHiJnC4JIWQ9/vNVs7+/tW5NTFsJwAKK0=; b=HaTNfjtFUWzwjnjJNVRUMDlePVqwpDm7mL3AbdQWOIDRVhQY8ySgUW8hr+1ql6Iy0EGfiu DxccrwIfg9JBfJgEygf1xz/PoawCpT2Rbd+d1VPus9OHiLtiEvU9NyUqfl/uafuLLQkOn+ Q1Q4Is0VGEqgHS7Zp5pHfP5udAHeeg4= Received: from relay.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2510B140E63 for ; Wed, 20 Nov 2024 17:26:03 +0000 (UTC) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id E9F9BAE623 for ; Wed, 20 Nov 2024 17:26:02 +0000 (UTC) X-FDA: 82807150188.05.8ED8D03 Received: from relay.hostedemail.com (unirelay08 [10.200.18.71]) by imf08.hostedemail.com (Postfix) with ESMTP id D30FE16000B for ; Wed, 20 Nov 2024 17:25:25 +0000 (UTC) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732123314; 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=z30aspXEoBEHiJnC4JIWQ9/vNVs7+/tW5NTFsJwAKK0=; b=2UAVgeAwb0eFTSUK/2DckZNaMBl+Xn3r19utuEdnxTWChhfYiwI5jVGb2WHO+lJNr1LObh XMMLFOigaQG1M1Oj4DlwIMvvq9cDDZMjITeCPA3/qGry0bmpsuv3uPMGkyM+61K2X+m/w8 /H5LATqq7cqF0+DpUQG0NvSF9ksT8Ac= ARC-Authentication-Results: i=2; imf08.hostedemail.com; arc=pass ("hostedemail.com:s=arc-20220608:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1732123314; a=rsa-sha256; cv=pass; b=IhBIgacmCon/PS2pFSFuSYUoUz26KzBD5a989UB204E3cDxFr9npjkINli0RNZ7biofr4l Ai2wHJbt6ElqDXX99XLa/clGPGr86FaxEH7LFpRMcTimEGBYYugj40GbExVuABehC/1F0r bp8qMYJnNZLY76jS9ZV7BrswTUuDR+M= Received: from relay.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C9A11140EE1 for ; Wed, 20 Nov 2024 17:25:59 +0000 (UTC) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 95C9E160E25 for ; Wed, 20 Nov 2024 17:25:59 +0000 (UTC) X-FDA: 82807150020.15.B15AC17 Received: from mail-qv1-f42.google.com (mail-qv1-f42.google.com [209.85.219.42]) by imf09.hostedemail.com (Postfix) with ESMTP id 874B0140005 for ; Wed, 20 Nov 2024 17:25:21 +0000 (UTC) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732123407; 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=z30aspXEoBEHiJnC4JIWQ9/vNVs7+/tW5NTFsJwAKK0=; b=CIViTvo1TL4c0Ry0DC+IvZWQihi5kv86PWu12EQ5XArzlnITxaCLruc3MpbjJlFyw2oBpR K6qrv3yidykSLJbLq3AtihRPZlZUxyfNhDBkB44hneS9F2FBMoFVRlkB5E0maDoHg5MTSK 71jGhoSnNO4IbHUYcCFGPdr0BYpoFr4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732123407; a=rsa-sha256; cv=none; b=cV8xnQGaocGnNxEU/9COHWbzOPyPcrW5h/EVKOUpen2bIT0M0PC1Y8Sm6uy8/pq4J8co1l HMVdnOD+kvOkvojvIyr6QxhOjIcZ31k3loHicppnEQ/rXz9C1fuKRrFINqFQVQZTaW2xwF 1w6KlRb1Ai70AAzFI4qXy5+LVt9JozI= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fqWRklvj; spf=pass (imf09.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.219.42 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-qv1-f42.google.com with SMTP id 6a1803df08f44-6d402ce7aa3so293326d6.1 for ; Wed, 20 Nov 2024 09:25:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732123556; x=1732728356; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :feedback-id:from:to:cc:subject:date:message-id:reply-to; bh=z30aspXEoBEHiJnC4JIWQ9/vNVs7+/tW5NTFsJwAKK0=; b=fqWRklvjWhpQwESSdMXUSvGcRBM3tftuyI44ETOC7Ha3LUuJ2KW61bny2edq9Y8elp wlO3DsKSi8MKNxF0c8sRihH+SGXqjTTKA30XwkO1QP1sVjh6KfQBbF1TGdiD6TqiWYeB jc1ibjKZ12npcfaeWRD68WqsGn1JueHaAyUlzAQJ6c0j0E4ZId13M855zDg3AD3ndbGc YvjNJqhHWbnsroxhQEK3ophtKsOfq41o0tCjDpStMpQlvS+QELVtBj9Y1MWUi4c30oTo TQaKK4JBJVuRO19lfgCz0N4u0ZM0xs3uCcUlBDX7b+dQ7UpT5ycLuhctoa+d+9ushuXi 7uYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732123556; x=1732728356; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :feedback-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=z30aspXEoBEHiJnC4JIWQ9/vNVs7+/tW5NTFsJwAKK0=; b=LSwVM4iHwS1ukJNXn/37ghojiC3P3pXa/NPDr/Fsc3L1l+pMsBvGxLnuivCketSkhJ wvoqo4efi/7UJ5oFvxSItD0DyBaw5SolVk8TD6vzAmWW+AaGloQpiaryfIFtDKmQmJAP 6M1srVVW+yhjXBqUTJLBABKoY7ZABtbJyDLLFvRWbvjyxDVXZbwnJTswHb4VFuc/FMsu Vk30lq/96e8OeQHPGm+PfZAzaxBSXLL+BDrER3OOLvo+TZF2dTCvFebjQ/QJbZoFoURZ W0WYZR/F3LPge7adHvkf+vErfSS890xYvUbeo6DQb2Qyhlz4q5gqvy53+WL3uIZ2S4SL lKUQ== X-Forwarded-Encrypted: i=1; AJvYcCXat2BcBHb38YbsvsItCuI7CR8Zr29lgs847fjS6y+pxlmPLRr3SaTrNIDQtNIM5VmIBBreVJJnNA==@kvack.org X-Gm-Message-State: AOJu0Yzm2ZFj8PNdnpg4ZF2qHzTZDJ5UC4XmvmQfsv1JeflyAzphOaq0 1jSRR9Pap9gRcg2/TnJiV+ERABl+TZWRcZj1bAvcSHf3rIcLSN/s X-Google-Smtp-Source: AGHT+IFrAM5ToDIrKi9vP0JNPTFZl8VCdd3BKNDB2f9k89GKzlEJdJbyhQwinKx41aZGEUbxWOxTIg== X-Received: by 2002:a05:6214:dcf:b0:6d4:2594:631b with SMTP id 6a1803df08f44-6d43783390amr53083496d6.42.1732123556292; Wed, 20 Nov 2024 09:25:56 -0800 (PST) Received: from fauth-a1-smtp.messagingengine.com (fauth-a1-smtp.messagingengine.com. [103.168.172.200]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6d4380d6cc9sm13222666d6.29.2024.11.20.09.25.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Nov 2024 09:25:55 -0800 (PST) Received: from phl-compute-01.internal (phl-compute-01.phl.internal [10.202.2.41]) by mailfauth.phl.internal (Postfix) with ESMTP id 4EC87120007A; Wed, 20 Nov 2024 12:25:55 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-01.internal (MEProxy); Wed, 20 Nov 2024 12:25:55 -0500 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefuddrfeeggddutddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggugfgjsehtkeertddttdej necuhfhrohhmpeeuohhquhhnucfhvghnghcuoegsohhquhhnrdhfvghnghesghhmrghilh drtghomheqnecuggftrfgrthhtvghrnhepvefghfeuveekudetgfevudeuudejfeeltdfh gfehgeekkeeigfdukefhgfegleefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepsghoqhhunhdomhgvshhmthhprghuthhhphgvrhhsohhnrghl ihhthidqieelvdeghedtieegqddujeejkeehheehvddqsghoqhhunhdrfhgvnhhgpeepgh hmrghilhdrtghomhesfhhigihmvgdrnhgrmhgvpdhnsggprhgtphhtthhopeduledpmhho uggvpehsmhhtphhouhhtpdhrtghpthhtohepfihilhhlhiesihhnfhhrrgguvggrugdroh hrghdprhgtphhtthhopegrlhhitggvrhihhhhlsehgohhoghhlvgdrtghomhdprhgtphht thhopegrsgguihgvlhdrjhgrnhhulhhguhgvsehgmhgrihhlrdgtohhmpdhrtghpthhtoh eprhhushhtqdhfohhrqdhlihhnuhigsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdhrtghp thhtohepohhjvggurgeskhgvrhhnvghlrdhorhhgpdhrtghpthhtoheprghlvgigrdhgrg ihnhhorhesghhmrghilhdrtghomhdprhgtphhtthhopehgrghrhiesghgrrhihghhuohdr nhgvthdprhgtphhtthhopegsjhhorhhnfegpghhhsehprhhothhonhhmrghilhdrtghomh dprhgtphhtthhopegsvghnnhhordhlohhsshhinhesphhrohhtohhnrdhmvg X-ME-Proxy: Feedback-ID: iad51458e:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 20 Nov 2024 12:25:54 -0500 (EST) Date: Wed, 20 Nov 2024 09:25:53 -0800 From: Boqun Feng To: Matthew Wilcox Cc: Alice Ryhl , Abdiel Janulgue , rust-for-linux@vger.kernel.org, Miguel Ojeda , Alex Gaynor , Gary Guo , =?iso-8859-1?Q?Bj=F6rn?= Roy Baron , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , Wedson Almeida Filho , Valentin Obst , open list , Andrew Morton , "open list:MEMORY MANAGEMENT" , airlied@redhat.com Subject: Re: [PATCH v3 0/2] rust: page: Add support for existing struct page mappings Message-ID: References: <20241119112408.779243-1-abdiel.janulgue@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-HE-Meta: U2FsdGVkX1+wA5grr2MrLfVJ3z73QxAq9nxz/kpT3oh0GKEFPZ+KHg/+ZLExc3pqewMeyD8UW4qPPWxEe9wEVGmLcn6+FkS9+Ouqv5tPMmUMcD4S17i6HJyv0OUw4Xjz63P4nSVJn4pUIY4M08GrJ+A6f9ov9V0CutLOEp0yNKGOPWB6qc9lBomgBPD//uP+97EK6hwgGfKT2fGd4jCDg0uJBxOLnrDgXQm5+92tATbPazTfo7fbKj7Fp8Rs38XDwXofGUtKSG40OC3lPKbNQQWi8yJ4nwXk/XQzUiQYwPX7514JAYKyissRg9K4JG0dYz0A0+vfTBlxFxhh7zgLSoCVIr2yWoAoPCxx2zBxsrTgmfSd6PWRDbaSFtxCP8M3NtpQBAi3V2GO8/v3qsYXcIQiOY/JXxbqKcT0KUySa9zzZjYZ1AzDC51v2LfSYowS9/BMPq/dSQn82GN6kFbxrfEDcPR2kmLiB66iKn/9YO08Z+i2kAt0jSPx3HLt9gDPaML46YTSf3kX4jfCglM1HnVQILyzDYg4o//ppRYWdto/adBd7Mtm/vaNhjJYuiIoc2Tlu2JUrpc8IXEplxpLG6BnkkLIKhPn5+p+semE/qxsaKZ1XjaMB9se7d4oqgaovKweYCreJgXD+l4vhpGVskO8PLLUqYHGeOQCd44a0zoX2AQy0E/1BhTlU1vs5uf++/CqajlRKDeGSOUXzMOU/iIcy1q8uIKIV61x+Owq4XFrq9CaLBxzaA8UL6J9WIlMD+wQLlqRxSohW01qh4H/EOTXQOin3ZS+eYsrokWwMsehZfidjGjB9w/DNmfh+ZG7TOKF8r41Uo/4/69K7guOBZBqWLWt1bYUcA8Hfyt7XNfhKVPB0IIn3p9VCzg8uOAoIAijYSqW2o/PtjttgWOEpn6mahgBrNWSBZloWR3IXjV22wbqE8DzbbRVem2feFMDbgE9HkZtVxDhoa5Gemm mVBUkXtL 6EWTKz/5joWOr1AYma0F2p13wmqfHDnF5E6zPC5rd57xBIlLl60Jq1OTAJVLq9+vnZxDnvoWlWYBnj4IkQYJUoPM0O7GHwuULsb+K3BV5BFlc+R56fGZdvQq0gHt/G7aP48LEuGSY+TDcIWix926vjliyOvv6kcsrTroAdpbireMbt+Arv1q8H1huaGUYKMR77GF8Ul/VtJl7tt+pn+BHKqKZjQkFdaaptEwG97MNZNRlbnyvt/csIL+wYpQNxBiAXN1tT7Jz5DGf9Fdl8BabnAjfBs9HZIgZECgLFwysSeAgIzwgege+gHOZbdX/vdWE6/nDJPlAszfLxIC5uRrxR44M9e40KEsxuCGbzOmYF+FJsgg11jBKsnH3vg4eU7qTZL339EtgVRJWjrUHgsznTU9fJIDv8WebdrJdMN4diWRwosqDot7+0dXrKQiBAWZUqpd1zpYPHQhlVO0WAXagS+PcmmzWPkU4FC/V+S2eX2RC8XmsviFCZ6wf7iTNyGCCrBHW8NXRrm3RILGHilXcO9t6HA== X-HE-Tag-Orig: 1732123521-638386 X-HE-Meta: U2FsdGVkX18o7MvFRg7i0t9tyvrDUq3gegw9bnju3lA4IMAjI7IgGChMzXtWSAKk4xD+BQ3FYPfQLCcsDENqzLIR6j3xLoLrnflXong5nUHqWgSTUPw0ARCEZpnYUdQv/u2lc4q5bII+ea3Og+iTbHwhKOAKrHbtyX6H2o3ySutjHJR9KSZCLBaOFADa+wSTMjL2u5hqBgd2UsqzRQkpKsNixOx2p6Czrp5u0WAdRAMU9Eh/lz1VxMG+SKa/ZouxCFNObgEvanrrfkpIxCMjYTvZ0MSVoa6n4zzZf3c07DiSTvFn/VVGKGTrmuw5hskZMootqTSJByBinK9T++hsy+EVbz0BAReAN/pK9SaFhXeqeujm5wLAo4snarefS7PwREaqJnMYzm+HUhl4wuVXH67jTYtGxw3y7hn3GPavoMGSESyRZ/v3X5XIE9uh+vQymhoKDLbHILvoMj8h8aeXfR3Ntno1QxanFnp5F0yPAkzQAg+LEk6+D5SfO3XON4PutzTSwdMHMlQxrt8hjtH+XZH+/vKah/7S/N9kWdVOeqWP+pqu4UxuDrzE+fbplL9c5TMe2WG4trVDQSpNCw9l370KGXyzFnc4zfo4rRwSkDHTasLbTqOuX51M2Jaj+Ur7UnmAIkERezw8jTEOaQarfCKAq9om5Xu6fqD4cTejvInZXma3Es1I25EBhznHB3orzTkdouUZp1DLO30w16brVAtnz9gQxrcbcOt07EOvcD2JECLcqjqFVTsQ5UvZBqO7Poy1X10rvfIY7Idy8+jPWE2SztD6FpUuvek/a2h6I/5RITVRyqHxiuKaE0E4CYYN0khxnnJ3LntRR55mQfDjgATwgC+kXVVT16UkjvKPekJ2GsrAW5Ll/F26uCXEE0CRMu7FNROPTovPJfmQ0n6GGysq9iQVyx+OG6AQXdOARY9qS2OHz9T66Ip+nrWqkY3071rxEr1hUHxAbHFS9yE vPxuwUYJ uJRT2EK5ShYbr6SMTp63sNaZ9CQvJBGpk4ETeKxjpyIcjV1RmGg09nM+RRokFQUh/2A+bRgHLqc7Dj3kBQXZxHXZCYSkIoRej9q0yxDIKs9lSioQSQVQfGJovdIF8k03URQ/dslBq/QnHtRMzPyNI3fFrcGRpdxHOOEmNaSdPf72Om4HyZw9omgc8f44kRej0IWtRPJifjuot6kT7tx4z6VgOwa67DJED8Rq+RaIZ6wVF//3SoVeRg+nh5nvmI5OIZqAIaUB+gqHGC0ivuLA1p/8bRHePT047N4kY2yaKMwE0Ayuiw/HJHVOA9IZxuZVeiBrG0Gsg2Bt8gzZqzQ45BQoKAxPEbYSGJiqFXuQCR7edaEci/VX7etgTdP8duRSbtvnn X-HE-Tag-Orig: 1732123525-658181 X-Rspam-User: X-Rspamd-Queue-Id: 05854180014 X-Rspamd-Server: rspam11 X-Stat-Signature: 8uzb6gjkss9awsetzjwctt5d7ucotq5b X-HE-Tag: 1732123556-271681 X-HE-Meta: U2FsdGVkX187pCZKlEh/QsctVJ5KQ3Yy07XUbP+yKxFsH74EaVr7NWdwEPdxdcOEDgvDQMOcMmzcrQVeto6K82k6sHBQxPCWfOUQXwlg4J3+w1uqGHYZG6e6ys18hIvg4g4kOIh4E1zyO3TH/5HxEolQgC/Be9XdiD9P+Ml0NWJCyxhfeb8N5jZLyg+pej8U/sn9z3puoAVgRNDyP1gUouLSt/sW6oGTvNRm5Jf1KKRPS2dJH4EqZGS6ApdQMwgqPxrtHUTIDT5a2H1UYs1yZaOMdZ7+LVsAIzViJrgaAAwTJ0lN0On1uSrp67etjMpnI+CqnIEUvTTbfDMXoBmkNZbgQ6+jXAwM5vkz1/Re3+GW3zPzplgQzx8TQjTRgXiRj4SdlgHHNYOTv2AY3wSuRTUAz9yoGyeIB/wrNbqQmNQp5PNz5ClKJTJ/d4+AI/aESyHjk8Z1HzaPWqr4xky44R8IyOBbxQmlwDS7IRaYHF08UuSRrgW5zT7Yrf6RIAhZTOzU2lV40Zp6R1eploIfNud+fLK6PpcFSwMIPP6GvY3zpNxSwT8YyXDSOxeZZhe8n7rq/iHnvgTSYU3C32ZhBlOT/aTlF2j2URchciu42YtAdJSvBBTql1IHq8bKtOU+4+SsooqcwHNCk3k0RKIqoZJ9epQeXdiCrvKWgjqi/WukfgQ8fHD2JHYfQPaeersdQOeuboLSqXtyR3Mk53OcJ8uZB1bLcqS96RO+EZ3hkv6B96xhTfa4M7EbvJdPGl38Pd8uOFXmX+4jctz8i+qqFT37GIQlLESVXPUy1ODgVldIWFvja8dtmStEDovOOjXPY0RVSCqBaxEIndob8zQx+ptT7Tr1dD/uYuxKj1n0f9bTR6hws2T4cUzbGdDEdr1nFPmX2QTHHC7WEMd20hdddWKxPZF1Z//EnfUg0ua3bRP1U+CPnhNMQ8AgOAQ0D9NBn3ouf2UosJquU1H3ur9 mcq9m0U/ enxRL9MmS5WvlnRz6Pld9Art15JpFLZhw7DOP53C/UiNmEBHIvYlkpbgNAtphXcYrb9UE29h8W8Np2eO7b/1P1eJXii2U/QvVWd7Sewt0xs+0SQFUdsbsOyiHn3ZMsYW7d8+Var2GvVIltTF4Xcusa5yfjrk2MdJul8HoHJtTcqGVNTPOwGX49imUl0nCyYuY337U0zSk580w+viliuFzx1/hgn+QO/gvVLLKOjW/SmxGWjR6DxBtdwsg99aHZhLcysdo9We8AC+6rI7C1zAHpn+Ep++AryN3LZXZsZQplQK55Qb3LjPS3z054MrqyvbpP556g5rnBzFuEz0cwElftwZA6GeHmgWZ96Qh5IUHkmyO5I5rPjmGmGXBZKLwFIIJx1/oZa1DHBwIXhm3MFDKe52cMAEUBuumBF4a 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 05:02:14PM +0000, Matthew Wilcox wrote: > On Wed, Nov 20, 2024 at 08:20:16AM -0800, Boqun Feng wrote: > > On Wed, Nov 20, 2024 at 10:10:44AM +0100, Alice Ryhl wrote: > > > On Wed, Nov 20, 2024 at 5:57 AM Matthew Wilcox wrote: > > > > > > > > On Tue, Nov 19, 2024 at 01:24:01PM +0200, Abdiel Janulgue wrote: > > > > > This series aims to add support for pages that are not constructed by an > > > > > instance of the rust Page abstraction, for example those returned by > > > > > vmalloc_to_page() or virt_to_page(). > > > > > > > > > > Changes sinve v3: > > > > > - Use the struct page's reference count to decide when to free the > > > > > allocation (Alice Ryhl, Boqun Feng). > > > > > > > > Bleh, this is going to be "exciting". We're in the middle of a multi-year > > > > project to remove refcounts from struct page. The lifetime of a page > > > > will be controlled by the memdesc that it belongs to. Some of those > > > > memdescs will have refcounts, but others will not. > > > > > > > > One question: will the page that doesn't have refcounts has an exclusive > > owner? I.e. there is one owner that's responsible to free the page and > > make sure other references to the page get properly invalidated (maybe > > via RCU?) > > It's up to the owner of the page how they want to manage freeing it. > They can use a refcount (folios will still have a refcount, for example), > or they can know when there are no more users of the page (eg slab knows > when all objects in a slab are freed). RCU is a possibility, but would > be quite unusual I would think. The model I'm looking for here is that > 'page' is too low-level an object to have its own lifecycle; it's always > defined by a higher level object. > Ok, that makes sense. That's actually aligned with the direction we are heading in this patch: make `struct Page` itself independent on how the lifetime is maintained. Conceptually, say we can define folio in pure Rust, it could be: struct Folio { head: Page, /* or a union of page */ ... } and we can `impl AlwaysRefcounted for Folio`, which implies there is a refcount inside. And we can also have a `Foo` being: struct Foo { inner: Page, } which doesn't implement `AlwaysRefcounted`, and that suggests a different way the page lifetime will be maintained. > > > > We don't have a fully formed destination yet, so I can't give you a > > > > definite answer to a lot of questions. Obviously I don't want to hold > > > > up the Rust project in any way, but I need to know that what we're trying > > > > to do will be expressible in Rust. > > > > > > > > Can we avoid referring to a page's refcount? > > > > > > I don't think this patch needs the refcount at all, and the previous > > > version did not expose it. This came out of the advice to use put_page > > > over free_page. Does this mean that we should switch to put_page but > > > not use get_page? > > Did I advise using put_page() over free_page()? I hope I didn't say We have some off-list discussion about free_page() doesn't always free the page if you could remember. > that. I don't see a reason why binder needs to refcount its pages (nor > use a mapcount on them), but I don't fully understand binder so maybe > it does need a refcount. I don't think binder needs it either, but I think Abdiel here has a different usage than binder. > > > I think the point is finding the exact lifetime model for pages, if it's > > not a simple refcounting, then what it is? Besides, we can still > > represent refcounting pages with `struct Page` and other pages with a > > different type name. So as far as I can see, this patch is OK for now. > > I don't want Page to have a refcount. If you need something with a > refcount, it needs to be called something else. So if I understand correctly, what Abdiel needs here is a way to convert a virtual address to the corresponding page, would it make sense to just use folio in this case? Abdiel, what's the operation you are going to call on the page you get? Regards, Boqun