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 3EFE0C3DA49 for ; Fri, 26 Jul 2024 13:37:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AC0DC6B0098; Fri, 26 Jul 2024 09:37:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A714C6B009A; Fri, 26 Jul 2024 09:37:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 95F936B009C; Fri, 26 Jul 2024 09:37:23 -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 702B36B0098 for ; Fri, 26 Jul 2024 09:37:23 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1B596A62C7 for ; Fri, 26 Jul 2024 13:37:23 +0000 (UTC) X-FDA: 82382005566.21.7649953 Received: from mail-40133.protonmail.ch (mail-40133.protonmail.ch [185.70.40.133]) by imf12.hostedemail.com (Postfix) with ESMTP id CF4F240018 for ; Fri, 26 Jul 2024 13:37:18 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=proton.me header.s=protonmail header.b=XUbN4jkB; spf=pass (imf12.hostedemail.com: domain of benno.lossin@proton.me designates 185.70.40.133 as permitted sender) smtp.mailfrom=benno.lossin@proton.me; dmarc=pass (policy=quarantine) header.from=proton.me ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722000990; 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=wkrRH9dGtHLO1NQB8yO/jdTXC+vGKyvD0lxyFAGQEA4=; b=F2czNd+wEps/l1RI2os05Fgu1Bqa5tVFbJMoBqCmtMu5KsyYYFSvisYenZpj3srN/3iEi8 eTupq4NdyfshOE7b9Noxy27k5t0dNUQ4/cz4WCydRLC9bEoQ1MaQvuaTUD8+ZV64L9uuUl aLRAoLH1EL8IWDq4FtVwfE9w75gRNqc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722000990; a=rsa-sha256; cv=none; b=tFvRTifw+9Bt0SPvS/IU7AJItVeMuk1AVgeiCGE6JdYUk0zbM2wRs4FBFL2tA4MCttru2M bseJOT9zZmK3oJCUIgEKVr1IPStdBTEj7Oc3DoGz0BIwYWOOF0w+e8ce4ETHEtCd4XfTZY 7N6ULt8kPKPw7Cd5/bFrCScGXOdAdlo= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=proton.me header.s=protonmail header.b=XUbN4jkB; spf=pass (imf12.hostedemail.com: domain of benno.lossin@proton.me designates 185.70.40.133 as permitted sender) smtp.mailfrom=benno.lossin@proton.me; dmarc=pass (policy=quarantine) header.from=proton.me DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1722001036; x=1722260236; bh=wkrRH9dGtHLO1NQB8yO/jdTXC+vGKyvD0lxyFAGQEA4=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=XUbN4jkBedgBI4LfcoOmI0x1oQPIy9qibJ76jbaREdroyCaQJ5wT7IQfQQ0CcJgDg PkIW6Efo91I/AZV1tYkgaA8fP8kQuq7qKzzoBzG3fe6gs51wo81n+Fb2EwI7ct8SJw NyOJdYSq6jb0CoFpHwXMFhhUylO6LHOJ96nC+vYZW8JXX5H23jM7o1Kh6cqQTC1Dkm u/WZQ1cPUTT/Ua2s+FlgpJF95ZM2yqzrgdK78Loso7tKDGBSQbpxLvH37DRADEoFch rFJZKYv9yF4ZFWt0mSO7Mwn593DOqZtRhtss7P+nKvzkNPkTTvq13Gacb0pHpD4fci N4TI5gdMWQa4A== Date: Fri, 26 Jul 2024 13:36:57 +0000 To: Alice Ryhl From: Benno Lossin Cc: Miguel Ojeda , Andrew Morton , Alex Gaynor , Wedson Almeida Filho , Boqun Feng , Gary Guo , =?utf-8?Q?Bj=C3=B6rn_Roy_Baron?= , Andreas Hindborg , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org Subject: Re: [PATCH] rust: mm: add abstractions for mm_struct and vm_area_struct Message-ID: In-Reply-To: References: <20240723-vma-v1-1-32ad5a0118ee@google.com> <3bf6bfdc-84af-442a-acec-a58f023d1164@proton.me> Feedback-ID: 71780778:user:proton X-Pm-Message-ID: 728504dfe84b34776ea12199d7f14710ca63044d MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: CF4F240018 X-Stat-Signature: qzh39xpf468zewx6mg54c7qnhyu6gtst X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1722001038-355572 X-HE-Meta: U2FsdGVkX1/npMBcbiSiXw4Zc2lOYnMDN5loJ7i5rkgf0Xaer7udQYKyO5fxqyjmUiqeAgIHncRwVjg4NG+4dWU8hKrZ8yxn5eb6EPdu98Teorhs8xQpkEWshi7o6wzEb5qTSic/mOAlEjuR8WE2N9Pptiw6MQ1gzEr//7FVNUTB+v9KXuLp0xTxgMJUl6WwfZoG6UqgFuyKJuDgBHtQyKpakmobl9ytkLwKijB3hfVSVrRslFEmI5j9E4ZZkwKewhyQhZdV2Whh7wYlUwD8w/9PlgacVqYKX7rR4969eKxW13vEBBS7ZnawAI1Avc6Qodqu0W8jqx5SJe62eJvZ4Q9107Ce/q+WwoNUM9TBEZAvGfsrWA1va44f9PA430kHpw0qNXHkIACFDnMK9o9k1yICiz3jBVC0TK9g33MF1zyaIceSApm/FppDpjFGe6Q8/f4aOq2R7f/iqfRFT5b+Mn9CCjFaxWYmeckl0ygog5RzlY1bVp3OXOg72s18dte7MOu9fmn1ONIJZ/sKh5SfvydCEs6FUMEnvqSF3jtzYk+Vu9TuppHptm/SOtJSZe+yavIxQTxJEJO8UocIyhiAy/bhah0BPVsJRCQ+cQOnE/4jq44YKNSYYEXUJvQ7ikrmh6jtwpxLVvIOHQgvnLjIcZUgrYaaVB6MlVqcjWzgw/7P30HXJ+Awyw0J7h+eEjWE/hzrB/ggm3NBqEb2mW18DSx/YeVbaS4DwWbH0hI8rQw+0Tw0k0espCHchEPGzmg4Jk48E+pW5LUTkGHekxw41Rr5wpV0A3QAER/srsjAzkMQHspF2hkDOuONzczM2FrNZxdHpQ3NzI89h8OP8wFxabddIxuHWMGrTOShe+jo3QpbKJkbSzchCdQz29HA2UMnKg5qgAncJ54ymw8aMb+JzAapkjR8hBO6iqgkL9Xo5W/GIkFZ7V/zGixVMQ8agW8NGWMIoNds54MOCsRw/Sy ryeK8MBE 0TwsUfTWqlYntvFbz+U+8DLQjXOH/qq3dtf9F7HLbs67zAKJeqWwafmLTkLBmfwuZ4YAHeITFiXbEfiX8Y4C1Ekom+yhFsyOUfQ5i8vu2N/0JDZB/l5fwWBzK7vmkgVdXVP/AZLr6S3pslmni1Fvb9sXIiZ2Lsrw/g4vIEYLl0pOud4A8qrev/lrULHZFDTRcpecoQp9JifnjZcoMBGdqgAc1CIahYd/FD1ACe6NKxAsHeXjgglqUFKvqjf8JXmPPJJzJimXpReeXH7I8kKkRkg0bJ8Y9i+KEoEMtQ+3HcULNC9kaRhX9KXC5gY2Scd9OxPUU6sBc8JHRbWCNEG4BthbUkPsWd7+s6KfVi6LNjFLFbI/Crn3CR06M+5b9SYJaaqTsPuloS3pXQQBRr45r36n6nQ== 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 26.07.24 10:32, Alice Ryhl wrote: > On Fri, Jul 26, 2024 at 10:11=E2=80=AFAM Benno Lossin wrote: >> >> On 23.07.24 16:32, Alice Ryhl wrote: >>> This is a follow-up to the page abstractions [1] that were recently >>> merged in 6.11. Rust Binder will need these abstractions to manipulate >>> the vma in its implementation of the mmap fop on the Binder file. >>> >>> The ARef wrapper is not used for mm_struct because there are several >>> different types of refcounts. >> >> I am confused, why can't you use the `ARef` wrapper for the different >> types that you create below? >=20 > Well, maybe I can, but it means we have several wrapper structs of > Opaque. Would it not be confusing? Could you suggest a > naming scheme for the structs I should have? I don't know of a good way to avoid that, IMO your current implementation has the same issue (multiple wrappers). So I don't think it's that bad to have multiple wrappers for one C struct. We could also use generics to solve this, right? I am not sure about the ergonomics/looks, so for example: - ARef> - ARef> - ARef> I think it looks fine, then you also only have one struct wrapper. BTW what does "mm" stand for? Memory management? --- Cheers, Benno