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 45105C02185 for ; Fri, 17 Jan 2025 12:47:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 83940280002; Fri, 17 Jan 2025 07:47:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7E931280001; Fri, 17 Jan 2025 07:47:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6B0C5280002; Fri, 17 Jan 2025 07:47:21 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 4DC82280001 for ; Fri, 17 Jan 2025 07:47:21 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0A6791C90C1 for ; Fri, 17 Jan 2025 12:47:21 +0000 (UTC) X-FDA: 83016919482.19.4D586AE Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by imf09.hostedemail.com (Postfix) with ESMTP id 2227D140007 for ; Fri, 17 Jan 2025 12:47:18 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=svhtFj1+; spf=pass (imf09.hostedemail.com: domain of aliceryhl@google.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=aliceryhl@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737118039; 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=xTsFM3xsW1rkvVQ1D071Ox1vp1fq+BLVH0DDYFb7YP4=; b=xGJ4UYxd3JHAordF7z8YykqMHpTR0mZYB0s4Tlmxy+gcWfm1q2HRkHB8ohKGjSTN+5hhIj 0qYZc3yUsSeFR5LZ1TVnyNj3CcZ2DK6BHK0jn1BS/bC70IL5p6AkbckibnzGN3JTFNL6sX g+cEKG5EIIRBloNn3KR/MCCGG0Y5ax0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737118039; a=rsa-sha256; cv=none; b=W43sA6lAjj4om8EcWb3TR+HHY13sShYY2qi++4zO6Vew550EWPVa6uZZfNSyHuCvWF0BMX h+LNGXXmbtXG0Ujz0fHukIO9k+x/x4kvIG30CVaB1HceLqCNwcBFWWQ+zXK6ACOKB4NoQh CkrkrZlqHBgtJmbEgNiyZPchoW5atE8= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=svhtFj1+; spf=pass (imf09.hostedemail.com: domain of aliceryhl@google.com designates 209.85.128.54 as permitted sender) smtp.mailfrom=aliceryhl@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-436281c8a38so13599755e9.3 for ; Fri, 17 Jan 2025 04:47:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1737118037; x=1737722837; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=xTsFM3xsW1rkvVQ1D071Ox1vp1fq+BLVH0DDYFb7YP4=; b=svhtFj1+oX9pPIzubO45P0bzMniRPdlhalJDX0Bk0hikgGzY4jCiYPgfrniDp9GoIg /oL7JL12ERjvjqMh0uM6KDQTyeCgn2z7KDYzk8wgP53D1om/7JTK0nt1DYq8mZoHAxAH 8eEK62lEE60JOORfsOCe0t2zz21WdHYB0u23nwrJRvKAJP6caTOavNGtEdKS9TLpp9zV TW8qOfwhjMcjTZWIZD+ysfI6eDCTaoVt/EdTG6THFwa2COO7B/YPu/2zFx42HBLktpHM mTrT+xV0bbQdEI4fP3KNU0jr7BYRZ2Z1EN6A7efe566z1Myw9QX0Z35DH2Bi+6mh+Y2p c/fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737118037; x=1737722837; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xTsFM3xsW1rkvVQ1D071Ox1vp1fq+BLVH0DDYFb7YP4=; b=Nfo1ISjR+vuLLd/DvYHqofMlmvHaui6wP2DrOF0+IvRNN6dRMZjlibDA0SXTo1fWIB MGMY5GeB0DFolqRBUPaDXIMXjIFmIVsz7+I8ilK47ieSRWou8Be5XNIbWBzX8D87s0Ba d9iFl+X2EyxAOJkuzgZOxid8XOEDT7Il6etyOKdf++SSPigsRQVCDqMh132EMvDoiUXs 2bF90TDbLMXA+PaodaFHK6mrXLSzueusugHqGAN+MPKamadDtNp6qxzdLdAUBNtq2dwM IXoTor5bri3XAT03NfFj6LTpmdSupK4LvuF7RmO5R43pMTFAAknmUZKzZPJ8vEx5XpC3 haWA== X-Forwarded-Encrypted: i=1; AJvYcCUMgNT0a87PovdRiFSb2TmvO6Bgwhw1Vxaczp93X9Lo60bmsp81+6aDd0bVMa8dS953sFH6ef23ZA==@kvack.org X-Gm-Message-State: AOJu0YxrJ3CRrSf16qFmzKMvsoj/bm++hDxX42DQtZAeAtbshDll+KQ9 Ks8bnpp+bS+p3uqHOdeCencF7buSJBKcMAJzkY30jrVpKwXFgv95cfQbH7bJUpP7geHsibT82mo U2UiY0JYy4WC0uYT287CUV6mtJ1oJjTRfCXv/ X-Gm-Gg: ASbGncuIucT8sCGRG7iA2KQXOEospD1jixk4G7LaWZIDVOazJvCXcGuPrBYJfgmQBQ8 kGBHWVaniD/pa7TXpwTszwWX27VllSZvbk6sFEks= X-Google-Smtp-Source: AGHT+IHrIhAKGXIqeHt/cUeyGtUugRtfxylw0ZlQpSabDdEBD/SAKou24gHW5sEFv1nvjVcY6H8O3Y85JY3ERj+mSv4= X-Received: by 2002:a05:6000:178e:b0:38a:a043:eacc with SMTP id ffacd0b85a97d-38bf5655a55mr1892926f8f.1.1737118037519; Fri, 17 Jan 2025 04:47:17 -0800 (PST) MIME-Version: 1.0 References: <20241211-vma-v11-0-466640428fc3@google.com> <20241211-vma-v11-1-466640428fc3@google.com> In-Reply-To: From: Alice Ryhl Date: Fri, 17 Jan 2025 13:47:05 +0100 X-Gm-Features: AbW1kvYWqYRF6L9bNPtcxy-n6pkNZgee56h_AAgcgyZH1ftUtuKcO9sA-D3BhZw Message-ID: Subject: Re: [PATCH v11 1/8] mm: rust: add abstraction for struct mm_struct To: Balbir Singh Cc: Miguel Ojeda , Matthew Wilcox , Lorenzo Stoakes , Vlastimil Babka , John Hubbard , "Liam R. Howlett" , Andrew Morton , Greg Kroah-Hartman , Arnd Bergmann , Christian Brauner , Jann Horn , Suren Baghdasaryan , Alex Gaynor , Boqun Feng , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Trevor Gross , linux-kernel@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: b798ahydh8idsk6ih15padn643nwp8en X-Rspam-User: X-Rspamd-Queue-Id: 2227D140007 X-Rspamd-Server: rspam03 X-HE-Tag: 1737118038-365420 X-HE-Meta: U2FsdGVkX19y24AUd9oBz9/N9Pw4wiw8jSWPKpCec8y9HfNQHfNFUEoAgEjiRcrqxPdU4XTsKiVlhbfZ/OsAozLrut2QhJTK1G3T5P5bVC2palqcHs0paBLxckE5RehG0LuVoDxg+pEXlcsD7VK7fFunyvybrmm9EVB7Isuy/IHohuZoxFrD30C42EZJTMy5hdSpXNFi4KCA5J8df6oGYhGZRd0CKD1Pfz23jwRgrIr2GXukNU0ViDlGaI3bVL5eK/yy3TvQVErIY41ZlRsTp1WngiEMgD10vVrHlaOPywV+XWmV+yjf6VksmvkD6UMjJUsW5YGKDitipJD+6yQSqrGFUu10xELqIxuf8ntbDNvgt5UqoelvejtHXs6S9HXHjormSW63N6mYuSYZOXtPX5syzUzN9VXro7zO6kK1Nr6bXYkQuT3DP6Y94zbOQMMJKWt3AAMBBsZ1npr2sF2yG59gTerNNEuUxBvJn6s4cy8gXvmKA6BhI4PEDAQZb1S1jP03XVykJGfAZZzADcTycp913MK9MNf55tNv0d7lNP+bkv7Pa7+OdtkicgWIbBXFyF0dL9QuPTjA/4mTZsyXtO1ScI2LnqV69MjWV4sXxPQZiKsk0J6ZcRy3oZt5hisW5cqD5cQWw3U/hnwJNdyp8RBHNowiB0dd4LThUeQZN8t863V/HyJtk5a+ykIcomMdQfoZdWM1NdNp481zIJBlMjjeHh6U+Cn+sCRpDxO6MKRVq9mXG922cbpAENm94UmthVIS7g4lEU5c4CPUhQCgJpPXEI00wIwUVcMOwFq48slUMxCaW5FhKvXi1vAItA6huNzi7JvBlmXHWLLdK4JZetN08+DzvCqnE0jJbJN2qAJcTi7BQOv+30r+DyCnnWPp6U/Dczy6o2efRKL6D4uUBtUIKDk471pd6i9DzfXrNqNaOkmlt0NF9rvpGdbA3HHb91wZ3h5Y9t3uYXgjhZA HAlja8DH BfdjkEtIequcwxl4+sIyxksPMIZCC+CeQdUgfoxThi1b/nyKePqKP7MUi4F7g9BS16Z8co2SAMarTBHk+QJ8wUnQqTRIahEKumlITK3aWXlVOMV3asopOaE0qeIbNTsmBXTEak5JPuHSMWdAGtZHRitg4cBjQVXTlkgXhzZRQ8rrNNKI4E3XmBWIuXpKO5bfR4Nbu22vzWqiNEq62uWX0wAPVcl7CFn0bGo1nUyP/hJKJwxQ33+dYCyPn1CxwbhEsnwecNAw8t8licieny/Be/NCmWuxNW9YnXdwXdJv2ArjwI3QlsJSTOTySBHwoqq/O7/tflUBAeieNNe8urCsnsgvTtuRXFS9SnvLMVBNY4FiLWPG55UEdRtIChZrhN4lEGUvc X-Bogosity: Unsure, tests=bogofilter, spamicity=0.498314, 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 Fri, Jan 17, 2025 at 1:45=E2=80=AFAM Balbir Singh w= rote: > > On 12/11/24 21:37, Alice Ryhl wrote: > > These abstractions allow you to reference a `struct mm_struct` using > > both mmgrab and mmget refcounts. This is done using two Rust types: > > > > * Mm - represents an mm_struct where you don't know anything about the > > value of mm_users. > > * MmWithUser - represents an mm_struct where you know at compile time > > that mm_users is non-zero. > > > > This allows us to encode in the type system whether a method requires > > that mm_users is non-zero or not. For instance, you can always call > > `mmget_not_zero` but you can only call `mmap_read_lock` when mm_users i= s > > non-zero. > > > > It's possible to access current->mm without a refcount increment, but > > that is added in a later patch of this series. > > > > Acked-by: Lorenzo Stoakes (for mm bits) > > Signed-off-by: Alice Ryhl > > --- > > It might be good to add some #Examples similar to kernel/task.rs You're probably right. > Acked-by: Balbir Singh I'll pick this up for v13 since I already sent v12. Thanks! Alice