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 61A86EE57D7 for ; Wed, 11 Sep 2024 21:59:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DDB176B0083; Wed, 11 Sep 2024 17:59:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D63BA6B0085; Wed, 11 Sep 2024 17:59:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C04C76B0088; Wed, 11 Sep 2024 17:59:57 -0400 (EDT) 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 A090A6B0083 for ; Wed, 11 Sep 2024 17:59:57 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 40C9F120D95 for ; Wed, 11 Sep 2024 21:59:57 +0000 (UTC) X-FDA: 82553825634.26.71419F0 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf26.hostedemail.com (Postfix) with ESMTP id 7C03714000F for ; Wed, 11 Sep 2024 21:59:55 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=MSl2JtNf; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf26.hostedemail.com: domain of dakr@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=dakr@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726091918; a=rsa-sha256; cv=none; b=0KDwr/qYbXw8GXTKOM6lqYw7y858tlZUl3XmzbQhREyJY9EHEfRqASYil/aEsLBUH1Q+As QISgWAxqkA4zRSEVDVralmGhEnP/8DYS4EMB4mMjGYqDvzz/aFFFq47LjPG1S27/Sy1nY1 bSH8NavWK888pqEyKk0cv4kwDSp0NXo= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=MSl2JtNf; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf26.hostedemail.com: domain of dakr@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=dakr@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726091918; 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=XkJQxzdBddgPBR8I3G/ZoLhETNfR4dnz5Pq93BI17F8=; b=3REq0x9+ZtXgcu1H7GFhGhYARKs4nFSqZ3/AMbYVZAd+x4ZwKmGcIPdllIlT7emyXFcE/N Jky2MWU556zKFlxCz3DoR38d2taLJb/4FnmYXS5w0wz/AMRC86FQ4uxbZtR4GdlSX0Cxz9 53USxYa4RYdGoGwvkx7bqYfoCVWJdU4= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id D99A65C0757; Wed, 11 Sep 2024 21:59:50 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7399EC4CEC0; Wed, 11 Sep 2024 21:59:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1726091994; bh=UlBTcNzdmM6jbFUy8h3KQwR5Xjcp0b9L4pHQdeczeSY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=MSl2JtNfqq7Q5CPm8ZjFixzRI6Ei2nGSTwOVWUHWpoAqQ0uEqF/8DEYq4OOUm6Ukn mDwuKb9IB2fx1ri8vw38d2BbJqD5Xl+4Xdri6Zc4ad9w6RNb1moJfsT+ku9QtR71WS OQSGKbJcWs9+uDnRgIJhX7SBkx6UY/4Oo89GrpB7Sa+bVvme4fHmJbaPg21oMK48/J y2XTL7y7edSABlgme8e9cMqiHuC31+UXHS8L4Dk4J5NuM52UAhuB1/SWdiEJ08YDGY qwoproPe/7dGIjwcFGiqGwedKzdSi8eH5EUvhfGPXorZKLuoWufkfdi8fNMLtshYtW x02cfN8pk4SdQ== Date: Wed, 11 Sep 2024 23:59:46 +0200 From: Danilo Krummrich To: Benno Lossin Cc: ojeda@kernel.org, alex.gaynor@gmail.com, wedsonaf@gmail.com, boqun.feng@gmail.com, gary@garyguo.net, bjorn3_gh@protonmail.com, a.hindborg@samsung.com, aliceryhl@google.com, akpm@linux-foundation.org, daniel.almeida@collabora.com, faith.ekstrand@collabora.com, boris.brezillon@collabora.com, lina@asahilina.net, mcanal@igalia.com, zhiw@nvidia.com, cjia@nvidia.com, jhubbard@nvidia.com, airlied@redhat.com, ajanulgu@redhat.com, lyude@redhat.com, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v6 13/26] rust: alloc: implement kernel `Vec` type Message-ID: References: <20240816001216.26575-1-dakr@kernel.org> <20240816001216.26575-14-dakr@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 7C03714000F X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: h6dskbymxwht5yn46ocnzw66i94wu8c9 X-HE-Tag: 1726091995-647725 X-HE-Meta: U2FsdGVkX1/2mCSZNDtHixsxc5JmGY39FJK+6KQHTtwUnLJzhzzWshp23tZznWl0SjlXs6seRQr6HD8FZpVnSMP0Y4xO4ygthSijHdKYMx9jvzbywl/RJJtA2zHYz+37gxnROaGBIfODJGmy634NyexoOYku1i8V40x9Kf4yzyI+aKc0AjpvmF94AE/u/azFO9Tfmv9NvGzEBwf7BTvwdEZouu6ifxlRi2qt8P3awkYDlgh5/9bt8ETDOilS2nkTngDwO0iR8graSBTGvUDz9QvoiozAz+gSfoslftRRaaFJjvMCN7PM2rKUoMQYzUK6h1xZgC7OsPNB+nAkhbp5sS3vtYv+ynvq8tuvk+5ZmYwwjdPlBs2pzOiah2qZlAc2cgrJ5YIXSAqy33OubUlJVyDldNkKyUGa0diCAXv1PqAtkW+hANgudB1TS6+jWQlzYMLqBADnmpSfCn4c/3cH8iq4GALNwOTB4KgIDrbeFoOAahMzn4xEToBVJgGlgqAuUnvRRKuVwX7jpmDxN6fe/hOwzMCNekMz2TTUo9vFFzxcIzZFFAFeFcazgU9QX1v2OReUZIAs+nHw/TUz034HjTqIWb/XuEQ3IePDshEqTcVY+WnjFoqjQ+eV5wxBwKkFM6a0j7UFTfQRg5kDwJB7IG1ms1yzrWlwubL3C7KqlF+dc7277qm2OvNOq5ZrKXN+ZHz92JaEesv2ePz99Q16roNgbsY5B3PCnCYBxXngsM9kXaxnGjDnZnQtIr2cG/BSRzH4+97xEGuRf/VP51/RMVaDgmTmM+Xul869e2J6aodDSF4ksvy4Mfd04XGhQT2TYdrE0gm3QBb64ZtWWBmrFQeOeVNSg0GFvHAz60XKpBnlyPGUCOoOQq5QqZSdi1Mnz49J26j79gxuO1M5vArM+z7eDLRy5Vjl5IiVuaAJFAvjx8/ENUEr7aWvC7FX49dWdOfGpweH6hv8wR4mTEi H4wiyx4V 4TtoyFQRFn7eNidbKRqzmjoNEzJLIfIsO2VdG1MtlTClRVhQlnbvM0j/XVeLoyknmvzh0JmojDkvsGS2UXRsw+y4WT9JfU3IQaz53ywdVcQHnb5wG5+DiAVU9+Alfo2i+5QP+RmxGjx8xdvJ53Z12UXvtC/GZFWQ1tEc3rYqi7ceHu+2McuQ/ZyO6+BMEQ2VH8Rhq8FkVohr3L7Z/NtxHMxxcC+qbwnUzbnuK2B6bxoRpBpnpZ9cDGslol8iUd5cYrm9Z7vwMaYdXIWcXR89JVyWxALQtt+EsOQBEJ19K8TlHtkMP4tDWNQ9+oTIxowKexPF5/n+QGPzN3XjqbAacY1hpw47iBdaLV/Mm 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, Sep 10, 2024 at 08:07:40PM +0000, Benno Lossin wrote: > On 16.08.24 02:10, Danilo Krummrich wrote: > > `Vec` provides a contiguous growable array type (such as `Vec`) with > > contents allocated with the kernel's allocators (e.g. `Kmalloc`, > > `Vmalloc` or `KVmalloc`). > > > > In contrast to Rust's `Vec` type, the kernel `Vec` type considers the > > kernel's GFP flags for all appropriate functions, always reports > > allocation failures through `Result<_, AllocError>` and remains > > independent from unstable features. > > > > Signed-off-by: Danilo Krummrich > > --- > > rust/kernel/alloc.rs | 6 + > > rust/kernel/alloc/kvec.rs | 629 ++++++++++++++++++++++++++++++++++++++ > > rust/kernel/prelude.rs | 2 +- > > 3 files changed, 636 insertions(+), 1 deletion(-) > > create mode 100644 rust/kernel/alloc/kvec.rs > > I noticed that you don't have a `pop` or `remove` function implemented, > I think it would be weird to have all the other functions but not those. I'd rather not add them for this series anymore. We can add them in subsequent patches, or wait until they're actually needed. I also already have some subsequent patches in the queue. For instance, in Nova we'll need `Vec::resize` and `Vec::truncate`. > > --- > Cheers, > Benno >