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 ECDCECF9C5B for ; Mon, 23 Sep 2024 09:25:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 440796B007B; Mon, 23 Sep 2024 05:25:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3F08E6B0083; Mon, 23 Sep 2024 05:25:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 290F36B0085; Mon, 23 Sep 2024 05:25:12 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 0A38B6B007B for ; Mon, 23 Sep 2024 05:25:12 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 38F0FAC1FE for ; Mon, 23 Sep 2024 09:25:11 +0000 (UTC) X-FDA: 82595469222.20.6E54261 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) by imf04.hostedemail.com (Postfix) with ESMTP id 3B44A40009 for ; Mon, 23 Sep 2024 09:25:08 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=zr2BCdiy; spf=pass (imf04.hostedemail.com: domain of aliceryhl@google.com designates 209.85.221.41 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=1727083391; 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=zo/inl+dQkj4h/8JHayWlKE13Gh29+Qcnjfcg0oSMnk=; b=KE5KuUgVmLQsINeOYAMuwm+aTRcrjfqT15kpHWK3J6P2hCV/iXAqpCx8KMii/iRS+rnxA3 i2yg1YA7ZxM0RYhoNkM5jyGBjFWSY24cOPmNcGR8ScWa+b0+49A0BlcW61NzslSthc7G+x pxbfhJopuje7tWcG94Ua6uLHsaqF2p8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727083391; a=rsa-sha256; cv=none; b=uDB3X9CF/2qrTHzb+IHJy+dPzlsjfIKXBWvLOzyC7NrcXokL610lqI3PGDQXdYwluTia0o +k1E4aH1jIhscIbscD0xaCbW2DytOnUjHuCYJ2QpgBxikEo15Zm9NhTb+IV/ZCcnYFYkBT fl1GC8JKENIgwbY7GyKSGeUylDON+0M= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=zr2BCdiy; spf=pass (imf04.hostedemail.com: domain of aliceryhl@google.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=aliceryhl@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-374c3400367so3667033f8f.2 for ; Mon, 23 Sep 2024 02:25:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1727083508; x=1727688308; 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=zo/inl+dQkj4h/8JHayWlKE13Gh29+Qcnjfcg0oSMnk=; b=zr2BCdiyBy6sqFPWq6harpDDYzPh4FOMNO7Lz0oZeW5bYmoHkjuwSXh7WfFLQjO+7n IsVdKd2q/vEUgoiQCJ6fmw6yeCY4dnWAjgxM0Q0B91YgKhu6ULqXMHplBLH492eFcQ+o T4b4f7xw+/PKUGFt6Nt04ZgxfXCiAkASKBaQlZ2+QrSc7Q1t95NJoXhDRMWIzc+lPp+8 M40Fq9SANUbyL0zQQ8BjBuNQgHcwvXKfLKS/MnBHGSEvVcCL61KsNhZJ3w1j4x8+0ynx TmXKTE8PJliaqrKQD14tn6NEjoFVXwauKuB3x17MblpFbR+/fWZgWyRKVRkPfX1Uy6eG jYTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727083508; x=1727688308; 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=zo/inl+dQkj4h/8JHayWlKE13Gh29+Qcnjfcg0oSMnk=; b=aficSoyd3YbuT6bftBUI5cKr17evTAvY3Kkq4Y8B8lAL5BItK49s3atHR6R8X+0nrK 9EjIZQVRrJPvn0ttvXgyjR8+6dGQCuIadG2ld4qlZMSBIGVtaEJf0g/Iojr7h9mP8P82 LWjzSTHEGoGsuxnvGC2zg94hLNWlery/zI6q7tApLXb4+iRHorNKTOQepocbZf8rIBKT ap16MolnfysiWZMjQW0lRotpEkvP93tH99MC8qkZEkVEtlDD5dNr0JW5e3DAvaBr3mlz RSV7MmNA5WzL+JwOEUVDXtjai+uSAKA6OilbtjWvN97Op4kglUpVq/LBZbwyHhRhcK6O 5orw== X-Forwarded-Encrypted: i=1; AJvYcCWQwBQlkzwc3ohW5v0/PIA43dztyxBUgh6loLhe0fkQqwwldlphdHGcxdXLZ07PZZiH2SwJl6yIag==@kvack.org X-Gm-Message-State: AOJu0YwvJpISyHhr6Ir8n2MPDZ6bZIDDRmlezdyupqDvKTIf/kIKkSMh eFriH1PK1yBUmA0iQ6dyRBOKeznXOBVur2vMltJ4LGwqzeW0w4Jjp4LsE+33OMjAgFPD07ZEtjc CMT/rZBJcTbgRaoUbbP+0+btFLxzEj90hT+vp X-Google-Smtp-Source: AGHT+IHx8d58x69Efb/u7PFGAQqvDWRxGlD0tGf0focGcku3t84Rjwu43AOhis6qf2wJYkTXSAOF08RL9gMyuD0uADw= X-Received: by 2002:a5d:5585:0:b0:371:8e3c:5c with SMTP id ffacd0b85a97d-37a422532b6mr9309865f8f.7.1727083507425; Mon, 23 Sep 2024 02:25:07 -0700 (PDT) MIME-Version: 1.0 References: <20240816001216.26575-1-dakr@kernel.org> <20240816001216.26575-14-dakr@kernel.org> In-Reply-To: From: Alice Ryhl Date: Mon, 23 Sep 2024 11:24:54 +0200 Message-ID: Subject: Re: [PATCH v6 13/26] rust: alloc: implement kernel `Vec` type To: Danilo Krummrich Cc: Benno Lossin , 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, 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 3B44A40009 X-Stat-Signature: dd3wcexh3qhz1yczzbk961z584xgnfir X-HE-Tag: 1727083508-679238 X-HE-Meta: U2FsdGVkX195tEnsrZ5RP2lba8Xz5lrRqlizMGJ0+pAQ5AHKG7wKZBMPJO6kkRMu4sXU8zTv4IFBrLaXfSOD7wXU4NL/njeO0Lu3/0K8TwribhMvfj/XCmkBPMtQ63jk2oUPLeK6TSIB0dzzPb2/gWBMPf1behvuGiaHdNZ4Xl5yglNAlRmRviLsQbkJn/vStPeJdoV+lZNWwfsHh+hFIYaRnWcrzjBIXDrAzlvhqb+w07tbCwBU+xCRqdlFn5KObGa2RPSB3HZw2wdnth35Sd0bRzu8FIdMkj00/1CE7hd9De3k9PtrcCPTYe+Ah7oPX7xdIYk5qBH5SYaaVOkvRBXgmRxCuNeMfJakSjS7Eh3hMZ3Ua0P9e2jDhrZCiO/a+mBdRmPw8W/d0tIKBc+Xlj1FMtlBzU/Qq2BSMnGxgkmvnBNVgeGsttlwzh/rwhFmxOeK3y10QUdP/E25rRThc74LdHuREIDem2+9zpUqYi48GHZmySOCFtgzjt4e0U9a8/KZXQX3rRc5jHTIsiaPlXH79BmSp8KN6c/FNkZOtwb7tPBnuyvb0ZT3dzQFXxGQEozaBPtAgFCDYJ+pbsX1SUcMIKNuT1z3/SIEh0IVnWcLe+IiabCFOsD2xUo3i4WOR+3LIZJwT8rjsBv5LxgpQwJagkQrsVrre/hBoC6FtZFPwvK2DgRzU5qUgCnWOFmvQnFsq02q3UXpNn7fzXZTYb9AVlNlJe5y6TzSqyj7fHpyfSHFfSxW03aN46rfV7EFAuQNYT1WFKehJjr4jIh3e4TSIOH1kQ07RHT+Ku8lLM67BqR28Jw2sbRBSU+BC/88Yvoau64XAOU3CYC/VNGvEVBpnLri+7dbemkN6weWPeeSGFnI6AUeweKd2+p/58sVELUPGQTCCOOYSgzYYuLvMmv478+efk0r5DuZYP+JCQddE48rXeQI7CeGCzVlfeaxZvI0b2jjrgNZaDavPSZ ALy1aqRU jOhMlniX58eyTCGinu3DejBM87hxjo1K1Fh3ZFti0k2yChZxXD1j6uCOceDy8tyyKWePdc2rCEmVhPu5kwh8hOa8eWO3jSJg193Sjq2rINUNZ7UUC9hj3PVmRlQxCRdqobxr/ZDRrQPOJCKcQYqSyP+7kLeTx8viplr+p/QGpfuU83KaSpfb9jIXaYTLubzEYZ0/5UEGExskU2znR/TTe519L73VasZtaF5ON4jmCYJNCfx1ynIzlaXF3xRF1lf8so7rebp/VYFvos7BrXg+DemmUSn+n5Al1HPRJ X-Bogosity: Ham, tests=bogofilter, spamicity=0.056114, 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 Wed, Sep 11, 2024 at 11:59=E2=80=AFPM Danilo Krummrich = wrote: > > 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 subse= quent > patches, or wait until they're actually needed. > > I also already have some subsequent patches in the queue. For instance, i= n Nova > we'll need `Vec::resize` and `Vec::truncate`. When this lands in rust-next, we should open good-first-issues for these on the Rust-for-Linux bug tracker. Alice