From nobody Tue Dec 2 00:25:30 2025 Received: from mail-wr1-f73.google.com (mail-wr1-f73.google.com [209.85.221.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 98976324715 for ; Tue, 25 Nov 2025 13:59:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764079200; cv=none; b=ZNyosnVJmpxKBYgiac/ZPENr4op5l24gHnrZIKfGImqX2AxFW4jE9Yi/xPGD1FzM3hqUAA1RDrOuKz6EXlKPkS//d/a85msm070wKkSJ4nrY6EYaJmjxzzQ36HKxHYv/av1bd8crhwy2xW6WGLsOGQnAK3IisWdbKI1vzVrwrkM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764079200; c=relaxed/simple; bh=7Lm4L7B0JSXJDytRz3uU8jk5LUez42F7IysaCo6TfkY=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=MvrVxH+9hAReHi5lVgv8eMB4puO0Ht3sqtvWmQQhlVDX1/4QlyqSmkvtBSf730SIkJBBlu5BAtDLglzU8t7zew6ai3ZLlmLzDbzTr9K2qr4YYQKyXwZMQMcaViAkeadDt9mJEihcVnRW7k7oR0tjkQ7cTrq1C5Mui9xemP1tuDE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=JqWaxDIn; arc=none smtp.client-ip=209.85.221.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="JqWaxDIn" Received: by mail-wr1-f73.google.com with SMTP id ffacd0b85a97d-42b3339cab7so3703571f8f.0 for ; Tue, 25 Nov 2025 05:59:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1764079197; x=1764683997; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=PhJL2eYeGqpdi1Nu5380iJU2myJLCzrIUeqE1Vlfi/Q=; b=JqWaxDInF251NR9s2f2rKrZVk8SoRVsLplRVCTqUfy1w9rt2Qf8PaXBU7KJnPiBH0q Wb2BGV3+Qcvy/3r7DY1lc/qDzr1U0sC58Wt8gKny/3EJrZoAxvamqXFSEJgoz6uR4YLz sCdUzzJmTyggw4rRH1hQS3+2ZFxKh9ZzQZN8qL3kG9njiHipQT8C0bAlyZtkoV0inPR7 ncI9ELpbfmdnIsqgkbysp8hhV8CqIoifX8e0YbloQBX5wa6W5KNtu5CKUvA+iUnCLesX EhmHMGdiTKRPaS+N8QHnr0LPg17/Nfyg9uykyck32zSikbDM1tg+5abWG4fVcgZ7XhgZ BX0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764079197; x=1764683997; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PhJL2eYeGqpdi1Nu5380iJU2myJLCzrIUeqE1Vlfi/Q=; b=KT8OtSo/Cx+iUh0dRAJmeviVCyeQ/XadPNNJ/IP6jrG+JFRICPxf0FcXN+LyEKmHOZ E6XceovE0X/EiKAoL1zZ221nDv3jpO8Ak94nlmVZEeYgzni8DxZd1YNhx2QXSxdEI3wh Pm4NC9YHIkvPbUMzKDN3WEsXWHZWPA2z9Jazks7gjMTk01W5TiF/ZbvBzkgTW9SdbxgZ 8glKIXlqBU3Y9lyPGzD2w6iexxI9PIZBOWVoOWgbmDxRycN16NQqRrES7Y/Bv12uS5BI oubvmGozx3hkGkr42z+GSOX/hY+I8SgdU1eku8y94O9tRBa7nC2DS3Rh2QU8hSs0vAWj XTjQ== X-Forwarded-Encrypted: i=1; AJvYcCUp9IGFg2V+VlzSxoqi2JcR8BTsrRMS9SlvMNLppUPZ7wmhtNeCWud9unFKuMd6O/I099ExMhJwfKSKq/8=@vger.kernel.org X-Gm-Message-State: AOJu0YxBM+fNSmOJxUhLLdQKpfU0SM3UFMuw1P7fFAYneAXis5UKvm3f RtBysk++cgEfgoBIOjf9t3ZAC+BufT9k2GNUC1HvdJlZwqYmhJ25AuhbJ/Uua8XJyoCIcFfC9es 7AOMwydtoehOOitnQlg== X-Google-Smtp-Source: AGHT+IEyeAgM6t7/dx19tQPq32ePVqS87dUHrJkZnfELERMnuGJQ+/H1zVgXRFg/DoKwuDvpjgHvfGYzoZsRUmw= X-Received: from wrqf12.prod.google.com ([2002:adf:f8cc:0:b0:42c:c2d6:29b]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6000:401f:b0:3e8:b4cb:c3dc with SMTP id ffacd0b85a97d-42e0f1d5890mr3161753f8f.3.1764079196864; Tue, 25 Nov 2025 05:59:56 -0800 (PST) Date: Tue, 25 Nov 2025 13:59:38 +0000 In-Reply-To: <20251125-binder-bitmap-v6-0-dedaf1d05a98@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251125-binder-bitmap-v6-0-dedaf1d05a98@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1303; i=aliceryhl@google.com; h=from:subject:message-id; bh=7Lm4L7B0JSXJDytRz3uU8jk5LUez42F7IysaCo6TfkY=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBpJbZYblPctXPrCXfxhBmnAUqceO4bNbw7uKXEz sAl84kcBaSJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaSW2WAAKCRAEWL7uWMY5 Rr5ID/9YP8uj7WhTFAyf4iLO1Ty8Nis/q8pafkrxeO5iZ3DXkikeMkBxuYxRy7cPRLhf/UA65HA YRMHkFgMI7yBBpWkWwqkGLsaapPsdnjAvv10pbO5qyhM1GqzFv8X9TmO7x2nY/PmzwD961+fQBh kvovD3nQ3kiUXapUI6QUSUFCp9W5rRScIflBgu67vmj1IMhBhCc4J60/C2YgkNeSruEJc30RU2b ld4qa48s18FVCRV4vwdWxz4xsm5zOXh0Dmtdq+wMBG+zqfNAW9tTFbLul0HI3QpmIdtLZuVZUSZ PIfktEqhFqxqGWChS+cqKL7GvxF8wlZJ3NuoLL1hiEtIRQunrqJI+HKFkiFeeIRrPv9cOX+aHeK iesIG32InAD3wqncM6R/Jms4QL93dbb0Ee2pemBH7U016VCPYnBJXumvHlFiPgZCqY5SjeEl72W sCqWJBMpizJtYsHbmc8BUMQNzPv5U0EWtrzy7LMu3juN9HcHdPSOjjxQkhsxzbwnp2eStXobm3l 6Odm+oWdsCvhcTMgWoBDLloFSReIpjW4N994UiOR0mFwPOcLhLxJNk7fR1i7jCZHC2CukWQgNCe CuD+VJTd1dlYMZrXb7w5AVCJsRmSRmO7qx+OMudWSpukp3HLzTJFuSE5ZK1L+hjG+cugXMTHAuu g/edqGMXUwtkoHQ== X-Mailer: b4 0.14.2 Message-ID: <20251125-binder-bitmap-v6-2-dedaf1d05a98@google.com> Subject: [PATCH v6 2/6] rust: bitmap: add BitmapVec::new_inline() From: Alice Ryhl To: Greg Kroah-Hartman , Yury Norov Cc: "=?utf-8?q?Arve_Hj=C3=B8nnev=C3=A5g?=" , Todd Kjos , Martijn Coenen , Joel Fernandes , Christian Brauner , Carlos Llamas , Suren Baghdasaryan , Burak Emir , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This constructor is useful when you just want to create a BitmapVec without allocating but don't care how large it is. Acked-by: Yury Norov (NVIDIA) Reviewed-by: Burak Emir Reviewed-by: Danilo Krummrich Signed-off-by: Alice Ryhl --- rust/kernel/bitmap.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rust/kernel/bitmap.rs b/rust/kernel/bitmap.rs index 0705646c6251a49f213a45f1f013cb9eb2ed81de..83d7dea99137ded7cba47ec5a3b= f10bb7e13f2d2 100644 --- a/rust/kernel/bitmap.rs +++ b/rust/kernel/bitmap.rs @@ -230,6 +230,16 @@ impl BitmapVec { /// The maximum length that uses the inline representation. pub const MAX_INLINE_LEN: usize =3D usize::BITS as usize; =20 + /// Construct a longest possible inline [`BitmapVec`]. + #[inline] + pub fn new_inline() -> Self { + // INVARIANT: `nbits <=3D MAX_INLINE_LEN`, so an inline bitmap is = the right repr. + BitmapVec { + repr: BitmapRepr { bitmap: 0 }, + nbits: BitmapVec::MAX_INLINE_LEN, + } + } + /// Constructs a new [`BitmapVec`]. /// /// Fails with [`AllocError`] when the [`BitmapVec`] could not be allo= cated. This --=20 2.52.0.460.gd25c4c69ec-goog