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 7ECCCC7EE30 for ; Tue, 1 Jul 2025 17:02:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0F5296B00A3; Tue, 1 Jul 2025 13:02:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0CD756B00A6; Tue, 1 Jul 2025 13:02:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F25456B00A7; Tue, 1 Jul 2025 13:02:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E260A6B00A3 for ; Tue, 1 Jul 2025 13:02:57 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AD7621605B5 for ; Tue, 1 Jul 2025 17:02:57 +0000 (UTC) X-FDA: 83616315594.18.30D6FE9 Received: from mail-qv1-f45.google.com (mail-qv1-f45.google.com [209.85.219.45]) by imf28.hostedemail.com (Postfix) with ESMTP id 9442CC001E for ; Tue, 1 Jul 2025 17:02:55 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gGgtjv6v; spf=pass (imf28.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.219.45 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751389375; 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=XjCEuJi7S3Vb9cPEHWAVTRgm6DeaRYcjyCpGP2zAxb8=; b=jfbFY+RZnrkZkGtFLHA3PoaGXa7cRReB5O/GjB4/lAysMJngTtAxHqZIqpUYcPgFAUA/w6 9Na04yhcDUPFi9KHE5Yh+iLXoE4q07b3hDn84YzTXGOlZqmTaB4zhESxMCMPqDNuyUkt7S hO0U8kLzR/v+MOuivXj4xWr4QEaR/a4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gGgtjv6v; spf=pass (imf28.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.219.45 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751389375; a=rsa-sha256; cv=none; b=pqa59Vp++rry4lSIbUOLwyLqtVvPYnyeEhS8YEPDUL0N6ZUDggJoE2p2rDXlG+DA4DuzrE Cbpb8sB3EyHQPRoWNosVZQGyTpPsfVw3QtpJ1sPiwburbTRJuNI2XP6aRI217tcWaYd7WW gSIJeI7trEa9jJPWS21QbuAS57KBQ3g= Received: by mail-qv1-f45.google.com with SMTP id 6a1803df08f44-6facf4d8e9eso35107736d6.1 for ; Tue, 01 Jul 2025 10:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751389374; x=1751994174; 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=XjCEuJi7S3Vb9cPEHWAVTRgm6DeaRYcjyCpGP2zAxb8=; b=gGgtjv6vapKxtUC7na6NeuJOvXyPNbTc201inkiSjp9UusRLs/+vKDFwoHFMpdUFx8 Zr+8+mUK+MAEJWmbvHDV2Eu+i9OWghZqsa8Mm+ha2c/xYGKXLkf8/yrdaJme8tcKUuT5 oAtQJwToCQkuai5LATx2CNlP7czj9LRWVGkXhrHuMG0mIULDWKpsaseHQteiHWPW+Qlc suZCiJ6bzNO++tS+VZVP4H0tnCD6MgaDwTw4VV1CjTHbWXS7rKOW+S1rL3yUo3w7bOBU XqQvV3HVD7QzE68vqwAvXoSkAh5AzjTda8vtcY0vmAtzfpSbqFiUobg75K0NSpXDxqdC JMmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751389374; x=1751994174; 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=XjCEuJi7S3Vb9cPEHWAVTRgm6DeaRYcjyCpGP2zAxb8=; b=m7TPLdgzCe+jFfFkp5gzvGaJzL7q2VbsVZCxp6BFsRMRls6ewTgla6RwfWE1oJXCnb XjoNMRVHN/GbsikwW9CMEb/rimwljG+/HgAoCbQ7Eujvnp/labOgxY7BqyzFKSv6ElUW 2pdIPLrz9qP+vn8SQkJ84Z+8DmxmqAnzzQxii+lTruO0Y2nzMpv2i87DtlBF+0eUYNet OgIU0qBMfgHAsmZJAJLrVgdogF8bX1OTm6r+qnBRnzwwOjLx6YdrwAbF2npR7m5nFKNd jma+sEpuIUgfOaamd8rNCvvMv21oyr7C8BdoAXh6Jwqmmjdrz4OtDDOCWbeJ/svJJu2w h9uQ== X-Forwarded-Encrypted: i=1; AJvYcCWbH8Bfh2DZj2JRKrQaiO+RFNgcLzfwZJ+3j1jHbaSDPl56RRAd3DAZP3uve3mubVdk5jou8fXDfA==@kvack.org X-Gm-Message-State: AOJu0YwnpOTnecfblxPaHgr1PhF2v2crK/eQxdtyk7ixuqVJ2jqNVW1M u0vc7amA1q/ABJzsL0ImdVtjknz4tvxkwaImlg1yghtsMGGAR98zm592 X-Gm-Gg: ASbGncuipR9pI6KyvX++ur1hJPOrCuoPTsaySNZGpX7Zg3xxQnMVOOE7l3ySZXEX/yD hv8G4DHTgkBfUoY4Hh4StUdjaFTa+uWrX7KLh9blW+a9sQRuhaIKWC7pLCzd1BTPBsvFvlX5sf/ YkXXasJHA5frFwuhIc9J7t1F9IG8vDFcLIyQ3tLT+1Ea3IL/SRn/wgx0CeLNRSaOpF+ryQsf2LP zOB2XJ5fI4EbgOki2QsHAOE7nHR/JFFoWPt9zKWjB4poMTzMC+lQz37vgfG409bpRredqY3HmAx GI9SLRuwbztUvQBCCSxlNLYETVCqKlEtZXZtrR/AxXz+lN456KL2d68GlJq8Cm7MsCWcp/O6ouG nGx9VL9xI6paz3Up9AzbgfIXCW03YxpsWui2Rdki/f9U0wTjXwwZd/1uVsKLYZWg= X-Google-Smtp-Source: AGHT+IHugx9tngMNAd30vXM01xwYxG6EdwTSmE6fUcbPIYcJFrpxlqnr6+0gzBeNI9kYx5TJeBl1fg== X-Received: by 2002:a05:6214:e4a:b0:6ff:154a:aa4e with SMTP id 6a1803df08f44-6fffdcfc05emr298545156d6.7.1751389374320; Tue, 01 Jul 2025 10:02:54 -0700 (PDT) Received: from fauth-a1-smtp.messagingengine.com (fauth-a1-smtp.messagingengine.com. [103.168.172.200]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fd7718d913sm87464226d6.15.2025.07.01.10.02.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Jul 2025 10:02:53 -0700 (PDT) Received: from phl-compute-06.internal (phl-compute-06.phl.internal [10.202.2.46]) by mailfauth.phl.internal (Postfix) with ESMTP id 584B2F40072; Tue, 1 Jul 2025 13:02:53 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Tue, 01 Jul 2025 13:02:53 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduhedtjecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpeffhffvvefukfhfgggtugfgjgesthekrodttddtjeenucfhrhhomhepuehoqhhunhcu hfgvnhhguceosghoqhhunhdrfhgvnhhgsehgmhgrihhlrdgtohhmqeenucggtffrrghtth gvrhhnpeffleekfedutefhkefhheekhfelvdejgfegvdejjeffudelkedtffeiveejteet udenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegsoh hquhhnodhmvghsmhhtphgruhhthhhpvghrshhonhgrlhhithihqdeiledvgeehtdeigedq udejjeekheehhedvqdgsohhquhhnrdhfvghngheppehgmhgrihhlrdgtohhmsehfihigmh gvrdhnrghmvgdpnhgspghrtghpthhtohepudekpdhmohguvgepshhmthhpohhuthdprhgt phhtthhopehtrghmihhrugesghhmrghilhdrtghomhdprhgtphhtthhopegrrdhhihhnug gsohhrgheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepohhjvggurgeskhgvrhhnvghl rdhorhhgpdhrtghpthhtoheprghlvgigrdhgrgihnhhorhesghhmrghilhdrtghomhdprh gtphhtthhopehgrghrhiesghgrrhihghhuohdrnhgvthdprhgtphhtthhopegsjhhorhhn fegpghhhsehprhhothhonhhmrghilhdrtghomhdprhgtphhtthhopehlohhsshhinheskh gvrhhnvghlrdhorhhgpdhrtghpthhtoheprghlihgtvghrhihhlhesghhoohhglhgvrdgt ohhmpdhrtghpthhtohepthhmghhrohhsshesuhhmihgthhdrvgguuh X-ME-Proxy: Feedback-ID: iad51458e:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 1 Jul 2025 13:02:51 -0400 (EDT) Date: Tue, 1 Jul 2025 10:02:50 -0700 From: Boqun Feng To: Tamir Duberstein Cc: Andreas Hindborg , Miguel Ojeda , Alex Gaynor , Gary Guo , =?iso-8859-1?Q?Bj=F6rn?= Roy Baron , Benno Lossin , Alice Ryhl , Trevor Gross , Danilo Krummrich , Matthew Wilcox , Andrew Morton , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Daniel Almeida Subject: Re: [PATCH 1/3] rust: xarray: use the prelude Message-ID: References: <20250701-xarray-insert-reserve-v1-0-25df2b0d706a@gmail.com> <20250701-xarray-insert-reserve-v1-1-25df2b0d706a@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Stat-Signature: r55j6buhpej7ht4ugfgb1zw3gkea9tps X-Rspamd-Queue-Id: 9442CC001E X-Rspamd-Server: rspam11 X-Rspam-User: X-HE-Tag: 1751389375-373032 X-HE-Meta: U2FsdGVkX1+pcDfl5CO6akeDM3ePpTFcEyc8eL9wRfCIQMbYeG1NSSV7STWnYa0M0aMhjyoLJlVHX4YnmQongUSMSHSlo2JPnRB9BU6iVd3YjNvysfhiTHDNgs98Y/JA8aaDZt3R9+EnDKosqxcH0e7NhqOAHuhR/1VBIuvRBvGYfZlbeyiIhdTvkh+watGBmAOgN/DBD8YS/KdlqTuzl4LoHm2AhfivxlZ2b7TtJqNkLEzyRpIQY5uHMjLJXO9u3lLnFdTNN5XaMAqLudTRic+t0q2KVLJ9yVPzp1AXT5CgBXjHDnXy3nKpNHyc9jgofT9K9IiZ2z31gufQXKoRdjit/UhP5rcTALaBTupRvk/JW0OwxMBPGERZjq2ud732PIi3cGxCQ5IMuG5Ck6kdvD+IkYmiqDRupsHHzGZ/CP6+js+YIx8pXhwagvgqvcs2dBMSS/qSLZuFXNr/qRV8Ppvw0q8xy7kTytgJTyuweBfSGtUUq4PDPrmvMV96ynuILFiQ6NFPUftToQScFb/vJ8MqBTIkd3Wz6rbkgoXSy7kdl99Nm7c/Zee9JNX6p1nAjb9MWgdJNHMt+Oo2vS/6ONoJdretwagFizJ1aWFY5brkU+EUI/xAU5ZxYRwpQFrF4MlW4yWxzL6uwh4hyos1IkkcOep1zQ5ZfC8Jd/BEKX1/l4hKD4HGno26nauxTKEhdLanys21BQJVxGKF6Eqc7+Nho6cCQzZ8vkuX9zvHB3PAzHIb1cG6PG8/eQjOCHhqyw8zWirzqm4RiiDHAxnqTkxwtnhHAFVqrziTA1AyRkzhQPCBL1Ce2VF0H6fhI9jlV9DqO0a/z1c5VZSH6MQqZwIbIASZfQYU2vq6w04ZL+3G7BvK3ElhyFHqIXywA2LpaYY13fAqMaa1UsbBpdfLVc502b49t29mQG+Z+qJShsG8FpNYfyxv0/sTYPhNAe1cdPd7OQpRy9gsXyQTQKC UJYT+siM ii0Rv2Ig+fGUTBFKfO+3rMA9Lga9ojIHWPc6shoA3e7trA/kbos59AeN0+vXO/INuY/dcqvGVLWRSDGwMLGuDssbKpKl6Cf3lMizoHIh7MHvriWekqr1yWUtY7iNcOb8Ayl1LkbDcOr3hI4DJP1navbD3LWND4BwlwMQL 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 Tue, Jul 01, 2025 at 12:36:20PM -0400, Tamir Duberstein wrote: > On Tue, Jul 1, 2025 at 12:35 PM Boqun Feng wrote: > > > > On Tue, Jul 01, 2025 at 12:27:17PM -0400, Tamir Duberstein wrote: > > > Using the prelude is customary in the kernel crate. > > > > > > Signed-off-by: Tamir Duberstein > > > --- > > > rust/kernel/xarray.rs | 34 ++++++++++++++++++++-------------- > > > 1 file changed, 20 insertions(+), 14 deletions(-) > > > > > > diff --git a/rust/kernel/xarray.rs b/rust/kernel/xarray.rs > > > index 75719e7bb491..436faad99c89 100644 > > > --- a/rust/kernel/xarray.rs > > > +++ b/rust/kernel/xarray.rs > > > @@ -5,16 +5,15 @@ > > > //! C header: [`include/linux/xarray.h`](srctree/include/linux/xarray.h) > > > > > > use crate::{ > > > - alloc, bindings, build_assert, > > > - error::{Error, Result}, > > > + alloc, > > > + prelude::*, > > > types::{ForeignOwnable, NotThreadSafe, Opaque}, > > > }; > > > -use core::{iter, marker::PhantomData, mem, pin::Pin, ptr::NonNull}; > > > -use pin_init::{pin_data, pin_init, pinned_drop, PinInit}; > > > +use core::{iter, marker::PhantomData, mem, ptr::NonNull}; > > > > > > /// An array which efficiently maps sparse integer indices to owned objects. > > > /// > > > -/// This is similar to a [`crate::alloc::kvec::Vec>`], but more efficient when there are > > > +/// This is similar to a [`Vec>`], but more efficient when there are > > > /// holes in the index space, and can be efficiently grown. > > > /// > > > /// # Invariants > > > @@ -104,16 +103,23 @@ pub fn new(kind: AllocKind) -> impl PinInit { > > > fn iter(&self) -> impl Iterator> + '_ { > > > let mut index = 0; > > > > > > - // SAFETY: `self.xa` is always valid by the type invariant. > > > - iter::once(unsafe { > > > - bindings::xa_find(self.xa.get(), &mut index, usize::MAX, bindings::XA_PRESENT) > > > - }) > > > - .chain(iter::from_fn(move || { > > > + core::iter::Iterator::chain( > > > > Does this part come from using the prelude? If not, either we need to > > split the patch or we need to mention it in the changelog at least. > > Yes, it's from using the prelude - PinInit also has a chain method > that causes ambiguity here. Maybe you can mention this in the change log as well. Like "Calling iter::chain() with the associated function style to disambiguate with PinInit::chain()". Make it easier to review (and remember) why. Regards, Boqun > > > Also since we `use core::iter` above, we can avoid the `core::` here. > > Good point. >