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 BDEE7C8303E for ; Thu, 29 Aug 2024 18:42:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 572EC6B0098; Thu, 29 Aug 2024 14:42:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 523286B00B6; Thu, 29 Aug 2024 14:42:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C3EB6B00C2; Thu, 29 Aug 2024 14:42:53 -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 1E8866B0098 for ; Thu, 29 Aug 2024 14:42:53 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B279FC0593 for ; Thu, 29 Aug 2024 18:42:52 +0000 (UTC) X-FDA: 82506154584.14.F27265E Received: from mail-4316.protonmail.ch (mail-4316.protonmail.ch [185.70.43.16]) by imf27.hostedemail.com (Postfix) with ESMTP id CED9A40014 for ; Thu, 29 Aug 2024 18:42:50 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=proton.me header.s=protonmail header.b="joWaMbs/"; spf=pass (imf27.hostedemail.com: domain of benno.lossin@proton.me designates 185.70.43.16 as permitted sender) smtp.mailfrom=benno.lossin@proton.me; dmarc=pass (policy=quarantine) header.from=proton.me ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724956881; 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=IghPTrqsf0PYbIybSIdWfKQ4wloUFIsbW+NfxCoVioY=; b=jhEHFdVasURLOFX59SfsC3X/mw3TQevSORlDk2UNH417rr3u05A5AWfknT6LcabjTEu+Dr pXdWVn87/0CYGbnA7DATYWkooqGVqrcYGXJnb//CkxMD7P+HNqxsCM51WcTY4TcAp2zJSz 2rEt+7sw699dflsQ5mrnzbrY5p1Muys= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724956881; a=rsa-sha256; cv=none; b=bgdPSgHsMEv7DHz9rvaSrC0MzZUC1SqACT8FzIAyO0HOm6PdHTFtZE8zBrVle1MA99Tzbr E0m/0wFONmMBNbl2k0oQfSCK4UoJn8oVzUd1rRsky6zmKV6w3D9xcQN7Qzq/ovuN6/Y/XL Z7eJtAUZAqDkQaY7bi2y7qy8qdPdguw= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=proton.me header.s=protonmail header.b="joWaMbs/"; spf=pass (imf27.hostedemail.com: domain of benno.lossin@proton.me designates 185.70.43.16 as permitted sender) smtp.mailfrom=benno.lossin@proton.me; dmarc=pass (policy=quarantine) header.from=proton.me DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1724956969; x=1725216169; bh=IghPTrqsf0PYbIybSIdWfKQ4wloUFIsbW+NfxCoVioY=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=joWaMbs/SnRJug/1Efl3lukJJ7Kh3g+2jYETUe5Uxw5upCvhOMO5R7ydgtTnvK3i2 usFPCfBccdLzAKFosfM2p7KxYJYFR8na5xZNJAYDVij+KQWLIHmKwHDeuGdU61wIeo Z7uAE8wI/zM5AOB2+LFHfyhxpUKAwt61AIKoyn3FLurrONRfoc8IgGyhkToQPUg9Z5 jFoKsZUYcRFlrv4ZfA61jt69pXnXcp4nKYbZ2ztX9+J2TUw4vrJwQ2fylFdCzLmjtD hwdgpbi4xbb7snqigyvsJ+c4auhQtpGmFwhoYV4wDdiZb1iHY2UzthYDUkDZuYA4PZ 2H9Hi7lXjhdcw== Date: Thu, 29 Aug 2024 18:42:43 +0000 To: Danilo Krummrich , 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 From: Benno Lossin Cc: 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 21/26] rust: alloc: implement `contains` for `Flags` Message-ID: <9dee325e-6610-4628-8afb-d53895f7a9f1@proton.me> In-Reply-To: <20240816001216.26575-22-dakr@kernel.org> References: <20240816001216.26575-1-dakr@kernel.org> <20240816001216.26575-22-dakr@kernel.org> Feedback-ID: 71780778:user:proton X-Pm-Message-ID: 23c120e56b61df2530a0e7ade62cef2f46c6a9dc MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Stat-Signature: jjatpdh4krp3aatto75gnfhwhfzb9bty X-Rspamd-Queue-Id: CED9A40014 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1724956970-960415 X-HE-Meta: U2FsdGVkX1+AvGjZ9xCrgs4SQ7GyZiZFIh1XHtubSR/866tfBCr1J3cB7fO4CI6SrHHzxq0v1KXkJo1ur+frKrF4XCpJVrBdcOUXqXHQNaeJj0S+2xnI3MZ58d8I4JL7XnY8m6GQ7rFqw2nrYOytCWG7f0KkR8wYiF79SL4acS0gL3rw5xwYJ1RFiO2H8JJEFTlGzbqfXBwveCTVbSl4tHHDJhJEOOjswe/9IU3zFcOc9guRPJZ9VG0t0Pty3l88zbYfiEunIL706ZWQT83MUOSDcqYLggotsDdk4dfHEFwvxr4EnrMYQRF5FmBU/c5CkhMDQtWlnu4wZVSgfWyNNxSw7Sm9mTmz84Gz+mKlKDge/U00OATUaQehcPQkJYlVgrimI1eC917FcuiKr7uyPSjK6FccvKPBgobr0bil4cib6xPpPtpBwGYiWHu8ZioZn4dH4HTfD8ynaG8MYRt7qiIt5MJs2qfJFAwpZTF28rLfPft/KrZ4rtGIZZPwtNrmWEgZgLZSVlmD71p83hbGaYga1JH2FJpMneJn7tewovVcDcQOOF+1GdCfSTDZvT4UmLxGHiHSSZu/zF0bGgBJfH6zbw+4SoTr/S/o4BfDbcsxsBKz6EqBqP1r6rRTaF+jJmRLCnU/pJE9E12Vb4r7YbDPMFt1DS+msnO4KVylg6IoGVNEf7JwXioTE7t/kNaS7hk6sEnQsWX4v8K4qQif64IXZQREJbqBXUh+uQ7sv2iWX7ZtdFBDRED1Vywu8/lQgV28cVmt1qQvSqIMFaT/VM4+ceZ5aA1qLZf93VWLOKWvByibfivNM9IS4tT7v68HYAUlbfX/tx6HeCGxeawV1Isj1bcYVrIrqUvhBTsdsZmRf5qL3mwpLCXiRuXiFCwi6x0TMRt1RmAW01C5i036nyhnY73aSMrJJCWG3AxSnMGh+f3kA6eSrq8IIVCP+7QzAaaDN8mB8XXTljzE23C 4MMrZmiK ZKBconoIB6lLlAGfKv5GZpYFkYYeh2ZsNXk6G5gSoB+H12CKAKAl0+FFo/LLL7YGn2mf+X73i5Bi3Kb/khhgZ2HrC2Ybz/M0BMUTR2vUuE/abaF1ydcX0/Qt9udGxPLw7K4l+oGM8GuAQ46ZF9EKCNRRJCahpFQAZryB8WMGx5h8ksSPFzKnUGewNTmzqjInqa9hHbq8UAZV0G6MnbrVsdO9cBWSsLxrRc9n/QAYgR3ik7ntxUFOrxGNQPbM3VSRVq25P2dYoh04WycqGtsPWXi2GeTu/Cpo8fIgyHPEIjwiVWtXljHUPMj6ADCTkb2ZNCbmjsV9M3yfM3N1R+2UWK6m/o9cbMr+R2Ei8eUEBbIY4KRtLXghVpEIpE/ysm0t7IGT/rGUxELmEfb8cCuJve07fo2tLokCkcv5metEKciwlrbQUL1h7JqN+Xw== 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 16.08.24 02:11, Danilo Krummrich wrote: > Provide a simple helper function to check whether given flags do > contain one or multiple other flags. >=20 > This is used by a subsequent patch implementing the Cmalloc `Allocator` > to check for __GFP_ZERO. >=20 > Reviewed-by: Alice Ryhl > Signed-off-by: Danilo Krummrich Reviewed-by: Benno Lossin --- Cheers, Benno > --- > rust/kernel/alloc.rs | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) >=20 > diff --git a/rust/kernel/alloc.rs b/rust/kernel/alloc.rs > index 1feabc817d00..5c66229a7542 100644 > --- a/rust/kernel/alloc.rs > +++ b/rust/kernel/alloc.rs > @@ -34,7 +34,7 @@ > /// They can be combined with the operators `|`, `&`, and `!`. > /// > /// Values can be used from the [`flags`] module. > -#[derive(Clone, Copy)] > +#[derive(Clone, Copy, PartialEq)] > pub struct Flags(u32); >=20 > impl Flags { > @@ -42,6 +42,11 @@ impl Flags { > pub(crate) fn as_raw(self) -> u32 { > self.0 > } > + > + /// Check whether `flags` is contained in `self`. > + pub fn contains(self, flags: Flags) -> bool { > + (self & flags) =3D=3D flags > + } > } >=20 > impl core::ops::BitOr for Flags { > -- > 2.46.0 >=20