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 8E86CC83038 for ; Tue, 1 Jul 2025 16:35:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29CE86B007B; Tue, 1 Jul 2025 12:35:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 21FD86B0089; Tue, 1 Jul 2025 12:35:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 10EB86B00A6; Tue, 1 Jul 2025 12:35:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id EECD66B007B for ; Tue, 1 Jul 2025 12:35:22 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id AF1248053F for ; Tue, 1 Jul 2025 16:35:22 +0000 (UTC) X-FDA: 83616246084.14.7AC1C06 Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) by imf29.hostedemail.com (Postfix) with ESMTP id 77AEC12000D for ; Tue, 1 Jul 2025 16:35:20 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fN77DbWb; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.219.54 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751387720; a=rsa-sha256; cv=none; b=ld6713q8+IJvDlw5ZG4uB99J2kTNOP6XjB6ovUYYvLzCQCvwCsKg/QHQnsiDgQnv0ySoOA GvhdealN3WFficA0SonA/VV6CtjdAVZDHOiMDVuKAdhXB3WZLJBHOzW8UPX2fpggH4xfTY WetbF6NTxCrXzQYLAZyrEU/LIejQ0us= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fN77DbWb; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf29.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.219.54 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751387720; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Z5+0hrUrWdaTQSD5NTP041Iw08AxAQ4FPS5CuAQJAhY=; b=COu5wo7fb50hW+u83/5/kpATLH81lccmS31jU5PF5vO/lcghDNo3tsDkUXncUCZJzxAv1t h4kSrw4ilhnrdCzRAJNO6OZuXXKIMRV3x8pd+6I8vw21yjFRmwelH6TOAmt2h+QYUflhSI 3rzsbl2rJF4ks06oKQra+IocbdWBl0Y= Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-6fafb6899c2so63868556d6.0 for ; Tue, 01 Jul 2025 09:35:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751387719; x=1751992519; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:feedback-id:from:to:cc:subject:date :message-id:reply-to; bh=Z5+0hrUrWdaTQSD5NTP041Iw08AxAQ4FPS5CuAQJAhY=; b=fN77DbWb4oKruNC2AtmpUj97lTfsFHqNTNVTJUi9JCmt31pm83RLGAX+bJI79IVt4u qyJQMstBirWNScW3GMvno9kunxOCCuuCplw6GH+OtuHd/tPF9MkZsQ3ObuMslXtUDV5x ZJ3e+J05XHuA4iN8GlZfa70CqAzbrwRANdw847KyDdCgXKKIBJtBTeGE95LcNK0S7TeW vEP6fxGAsH6A/T1GdY6mc4NEzhGXTmOvdNL53txa21NcwFscOXvhw+3rLFZcLaf+x31h 8mMVvEijOxdpjgsik8qhf32csCkpZcVtxEW/gtR+WHKvqTDfDTkiQq5X6c9F9H1g2WeH +kCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751387719; x=1751992519; h=in-reply-to: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=Z5+0hrUrWdaTQSD5NTP041Iw08AxAQ4FPS5CuAQJAhY=; b=X+NvSf1dUmv8GgovB1ThVlRaTztnrck+NFhNiEm/7ycEkVuoVaFvphwj8zwoTfDOz3 pKpsQE/pP3Usfd3glcdPuxl1vq1jtYWR4YnZh41QoTBZKfKS8ksZ4RoNDJKLadQzn2RS JGSHLI2BuSUo6yCd5qVpxEdtouxiAlWTuhD+kPs8exGloecrZDE5zO9KtNuwhMaKDJ58 u4mcp3O58U/5vGonOO3VSIP4g/ioHhWFx5zvr5zaHw6gYAti6duIRBxrIjBzXgMDwlDy S7tPBYOSiAjoVPQf5PxJOFZ3A2cxjrIitS3xxFvZKPUO0ymr3JiX3PBf92MltwmGafzM aLrQ== X-Forwarded-Encrypted: i=1; AJvYcCVAce3ZLFazN3jLh7kIIyHU+5J8dNkixOPvMcojW0MCmSMp+LyvhpdLQXb+DV5UiIYzbBps0+sZHw==@kvack.org X-Gm-Message-State: AOJu0YxzsWOgci5Ky7YGoWkVkL5SdZkPp9DNIFBbDKMyRtKgrbf0C95O WFM+QYhLZN76DObO17dYSYJc16MXiIoKVcB/XpiSwQsbx3i/rxA4/m6m X-Gm-Gg: ASbGncsR22zxPYa+Q/2z4ljEYe/zz/9XCU5dLuZKvSFAGxmIfwwz/EkhfeQ5hg7wV2U mXAxZtyfc/LVcBxfoGKLz8hY91i1xKCG6UgSlA+q9oC5w8KnfVMftqMy+llidsRwWWa2vO1zwAA DPtbURaI9o7ivVY53z2n7b8HNQ/kSAHoUCQIeSS+Dvfqh30VdXvMBbj/42uYGSO4CGlpnRtqVJ1 nMf0DhzmtaAVtG7fI649jH4Miy6QDj09fG4m3JiSaeYmTLNR1cS3zdOZFnXvGlnAd1UpfS+KmcM pztivTj0P1dqx+QI6QRgK08hVJAR2iq2P+td2ugbHKJUZWSYgHcVSlSR0UhTqPve8ztDvCl2enX A3AH0+J+wtH1PaEt1Jb6sCfcNVZWXyoldOjJe4danoOeBWKOjXksfX+poq0qf7+o= X-Google-Smtp-Source: AGHT+IHPuVm5X6/V6Y6ozrMdjj8rGAidZSiuaMJIbUTy0MxSjjYB4uoxLPCKT2h7nQTZaSV7v4ivTg== X-Received: by 2002:a05:6214:4003:b0:6fa:a5f6:ffce with SMTP id 6a1803df08f44-7010a9c4834mr67949186d6.19.1751387719283; Tue, 01 Jul 2025 09:35:19 -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-6fd773151dbsm86553886d6.115.2025.07.01.09.35.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Jul 2025 09:35:18 -0700 (PDT) Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfauth.phl.internal (Postfix) with ESMTP id 33D02F40066; Tue, 1 Jul 2025 12:35:18 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-05.internal (MEProxy); Tue, 01 Jul 2025 12:35:18 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdefgdduhedtvdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpeffhffvvefukfhfgggtuggjsehttdertddttddvnecuhfhrohhmpeeuohhquhhnucfh vghnghcuoegsohhquhhnrdhfvghnghesghhmrghilhdrtghomheqnecuggftrfgrthhtvg hrnhephedugfduffffteeutddvheeuveelvdfhleelieevtdeguefhgeeuveeiudffiedv necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsghoqh hunhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqieelvdeghedtieegqddu jeejkeehheehvddqsghoqhhunhdrfhgvnhhgpeepghhmrghilhdrtghomhesfhhigihmvg drnhgrmhgvpdhnsggprhgtphhtthhopedukedpmhhouggvpehsmhhtphhouhhtpdhrtghp thhtohepthgrmhhirhgusehgmhgrihhlrdgtohhmpdhrtghpthhtoheprgdrhhhinhgusg horhhgsehkvghrnhgvlhdrohhrghdprhgtphhtthhopehojhgvuggrsehkvghrnhgvlhdr ohhrghdprhgtphhtthhopegrlhgvgidrghgrhihnohhrsehgmhgrihhlrdgtohhmpdhrtg hpthhtohepghgrrhihsehgrghrhihguhhordhnvghtpdhrtghpthhtohepsghjohhrnhef pghghhesphhrohhtohhnmhgrihhlrdgtohhmpdhrtghpthhtoheplhhoshhsihhnsehkvg hrnhgvlhdrohhrghdprhgtphhtthhopegrlhhitggvrhihhhhlsehgohhoghhlvgdrtgho mhdprhgtphhtthhopehtmhhgrhhoshhssehumhhitghhrdgvughu X-ME-Proxy: Feedback-ID: iad51458e:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 1 Jul 2025 12:35:17 -0400 (EDT) Date: Tue, 1 Jul 2025 09:35:16 -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=us-ascii Content-Disposition: inline In-Reply-To: <20250701-xarray-insert-reserve-v1-1-25df2b0d706a@gmail.com> X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 77AEC12000D X-Stat-Signature: tzhnebimmt3w1na59zygd3jdad7unhn4 X-HE-Tag: 1751387720-214595 X-HE-Meta: U2FsdGVkX1+bAzPSWZWTcqou08u2SCypoAeor2dKA2whBSU7A+cYFZnxuZ6HEGdAi8RXJNzBdGsr8y/vhvKKOwzRudilylVYM1W/N9mAdvZ5t3SuHrDRmaOGEqt1d9fGNImrzsIUYfhhSVbSxlIUiqep1Z7AZxoKPDCZVnZz+/sP4q2O1qCW16YFkXFpR1dSta06oIDu/Q0kWFKia/JMeApTp3GDB0zD8as2muojeRIcMplMXzWWlUiKekasGPBqBN+KdoNJwatvhP2caQz5kURvJbjMoZbGuxXK1hmIvattoj5ZsCsxI7alUIOSMQ94m07sZOT9TZ0sJbj7J9QFckXeJwkAqR1Ma4VQM/DerdZYU0RHxYyvzea/hcKVX8DrpeyfcUWwBDWgwE5t0pIpf4GIPW9jXknVCIjVWTA8nas0tUyDGkk5bKKD/wVYj1bJ8eZQVsWeFj5th5JbTJlRCKumqXuQFs6vnjvn3wBsMWK1VAFZv9r8SLrB06GjJLPAokPOL+n2YW4YLt3CRL7nU27UwNhH7JkGtjqIDue2APj/RRGR2XZqKcOgfXf0WsJ+6xrpDlZ5KdAjAXSiO/kbh5vORXLBtayMuTfBY96BqGUaVyKOuOuwlNiNpmES6Th6BrqFQjtr6d2JBpxBrFUS4k4Tzd44xl2wzobDAkdps0RB3gbfpS0gMMjkLorbu0fX7dvrhmYP5ImGkm6QAdXFhZjBM2dHkbYAysk0qw3WuJHU44k0kJXWcx8yKfnPVK82fB87hsrlc3ntkpE4B4FTH7dQ/7SMFG/BmtiaskXLth4RCfGAmvXaCT22OkbIpS7JbRKJex2PmJ9ADTiRk7kf6qtNO9Wki792I/NNDM5V1AgdcUDiP1VJNUspXrqlgNEIaQRoT0XonRV7YeURULZQrduGJx7B5J7mFKX4QjH+y7CdkVb86dukzYo3SMYppsfOabfQDSik2z7dqSG6ToH NNkDcVxk TIp9M9/LG5ie0tkRmmCsCIZ/kI9gN3msLG7f6xGdirjFvn3tZGZaMQFSAbgjrPgzXcvZVAxbWDP8fmzTu3LFh6kNQXk+fMNrn4dKPxSCcTAuuowJzAhWNC/Wh5/isU11KzbLrhjcHP5XnZgw82CVyUbq6Z7to5cqXc/Hp94rgrCHcjhrV4Ugdu87Q1PjL2dSerLBwJ+PqNOB7XA1/isl4gmMvGXpJw+qZYE3bxGkXLwqfME4BxJ6XcHbk3jpqVj0bDdp1RXPtb8B/rHJhWK/HPl4sQi8jxMiNYAYOowxhko3TuVmcSGsHCvqGToVFvQqINzjafO9z7joIJLi66PVKQRXzmkKfBHKWccrCx4OD7lOxuZp/h+Ot3vSdiGkuuG9ZBKxeT72//WfYbiE7c60Vwlnv5hF1TCH6Nf1F+EpSQrzdVmYs5ZvjMYugOCFb6NPwPcjP7g8w4May42AJINVm2OJ+nzCfrZxuYLlRi6x0zGEowG9n44tA/Q9TCWVupKmEwhieFlwbKsGSg77kDAlY5YSMLu+oOvlcJChxlib3hcJu4iU= 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: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. Also since we `use core::iter` above, we can avoid the `core::` here. Regards, Boqun > // SAFETY: `self.xa` is always valid by the type invariant. > - Some(unsafe { > - bindings::xa_find_after(self.xa.get(), &mut index, usize::MAX, bindings::XA_PRESENT) > - }) > - })) > + iter::once(unsafe { > + bindings::xa_find(self.xa.get(), &mut index, usize::MAX, bindings::XA_PRESENT) > + }), > + iter::from_fn(move || { > + // SAFETY: `self.xa` is always valid by the type invariant. > + Some(unsafe { > + bindings::xa_find_after( > + self.xa.get(), > + &mut index, > + usize::MAX, > + bindings::XA_PRESENT, > + ) > + }) > + }), > + ) > .map_while(|ptr| NonNull::new(ptr.cast())) > } > > > -- > 2.50.0 >