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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B5D4EC27C79 for ; Fri, 14 Jun 2024 20:20:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=5CUAuynBVyz1fHYaZykoo5xpEFYTJwiFVf5avH/YD40=; b=vGrKu46ML/V4jJAvt/kzkq5BHI mqa8k6CMDBAHNMbrFg6JmbRgumhN3vpTLgPrAlpPcPQUW8/PMSgcFJRFytc9ewQd2cGSGsCb6+jQt jPJbEvSaEHaBMV+m7gtI0hagO4BP3VVPUPo3CklQJLHf6zo6OT2F1xmESl99ZjPWPkD1H3mYsRxB1 NYMZioK+Ihi72NsDW78SjQ4fe8Zf1KWtfh+EWvfn5d4HcyoTzpZTqUNU3L6CqCNj3gdmm3gSu9YfE 8fflM2u3ZzMtMbIkXn1xkffN1lYwPDI6aX1Eu5prrd5ZWDcGuKD94v/OwEGb+Xm46znM9dg+bIK55 w+ghgM/g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sIDPE-00000003yTo-20ZN; Fri, 14 Jun 2024 20:20:16 +0000 Received: from mail-vs1-xe32.google.com ([2607:f8b0:4864:20::e32]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sIDPC-00000003yT7-2TNR for linux-arm-kernel@lists.infradead.org; Fri, 14 Jun 2024 20:20:15 +0000 Received: by mail-vs1-xe32.google.com with SMTP id ada2fe7eead31-48c50daef1fso806050137.1 for ; Fri, 14 Jun 2024 13:20:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718396413; x=1719001213; darn=lists.infradead.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=5CUAuynBVyz1fHYaZykoo5xpEFYTJwiFVf5avH/YD40=; b=LR8Z2zSefHwQ0agw458IDVk4mBgxOY1v5jwIycYU430KTw8zR6PaGcqZcyoALsdz8K +WCOjyTe41IY0VeC6jZvbLQAl+UUTRMhHxeOhe6bi9vhfUw4VVIm4UXw9fzYWVJr5vbS t80jZVVSD+2/7OMZ7PqloK7vageTLMrBg3oiHoa++A4tIqieawyxf/6IEsHDxh+M8+y5 JZIU4xl4ToObSngfl4Uje+IpGjv0q/qhLQgTiO3gMvgCih0V7KiyITt4DDKR0lHAX16o SdMTcq9A3a4FO2Gjbk129WGvRWDjFsCQv7WpTXKx2Qu7C1kO4g4vfAZ7AeS5FjQY/oYC 76Fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718396413; x=1719001213; 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=5CUAuynBVyz1fHYaZykoo5xpEFYTJwiFVf5avH/YD40=; b=VuN++dEHZsGjuQpS3wqGIcMkbxj+2ayCHJWdpYfSUuaa/TNY5D04X7v1DXVY5RjZDl 9IwkxFzmzH7I4duhs+Hw6/7m5+mtdJGjNfKGdML5xsxD7CR6MaU52iC1E6Rp3jON5xpt yQVAyJEDsIHW2ABGBRdn7q8hJ0uP7yQnK9cAbrlDmgwQXD7uDoM8+p0SMuKJJxT1yVOn kH20xxbvFqJZNNMczl7zfwiORpb2JSAxOj5XoGjDmsaaosNkpPjfvQ9BKtD3jSCg2XBm 2GhPx9Lbny/RT3L2Iz7HOAFXQWkrC6hjYVduz6YcKIgUdvCAR3vPTl6b43BuH7lk6V2+ P57A== X-Forwarded-Encrypted: i=1; AJvYcCXDt5lAlQpo00XS4/yfyYNbRT/hKA1yKrCxTXp1xhbpiSw8cvaO8CI7wC5M0Q21/qZVml26nyxXAMkXz+L85ZO5N0/FOlAphUWWp44FHAUINcwMcVE= X-Gm-Message-State: AOJu0Yw6D4tV5IEo+oVtgbR9cO1P3hZTqiGX3ApdQbr5qULpJFtS/ZMi OEFwY7USyxE7ikhg+hLpgDFdCG2/wklCvHrdMEhpBuzZgf3BZFGW X-Google-Smtp-Source: AGHT+IHeZPt+coJs0UUjzvIRyH7KLBAHbOKzSy3UT6stagMTqVFlSqoIJw6X4dKYtBRry1sNMWpzuw== X-Received: by 2002:a67:e249:0:b0:48d:9792:5bfe with SMTP id ada2fe7eead31-48dae34a5b9mr4308573137.16.1718396413309; Fri, 14 Jun 2024 13:20:13 -0700 (PDT) Received: from fauth2-smtp.messagingengine.com (fauth2-smtp.messagingengine.com. [103.168.172.201]) by smtp.gmail.com with ESMTPSA id af79cd13be357-798abe69dffsm176912385a.126.2024.06.14.13.20.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Jun 2024 13:20:12 -0700 (PDT) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailfauth.nyi.internal (Postfix) with ESMTP id D8BE1120006C; Fri, 14 Jun 2024 16:20:10 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Fri, 14 Jun 2024 16:20:10 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrfeduledgudegkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvvefukfhfgggtuggjsehttdertddttddvnecuhfhrohhmpeeuohhq uhhnucfhvghnghcuoegsohhquhhnrdhfvghnghesghhmrghilhdrtghomheqnecuggftrf grthhtvghrnhephedugfduffffteeutddvheeuveelvdfhleelieevtdeguefhgeeuveei udffiedvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epsghoqhhunhdomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthidqieelvdeghedt ieegqddujeejkeehheehvddqsghoqhhunhdrfhgvnhhgpeepghhmrghilhdrtghomhesfh higihmvgdrnhgrmhgv X-ME-Proxy: Feedback-ID: iad51458e:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 14 Jun 2024 16:20:08 -0400 (EDT) Date: Fri, 14 Jun 2024 13:20:04 -0700 From: Boqun Feng To: Mark Rutland Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, llvm@lists.linux.dev, Miguel Ojeda , Alex Gaynor , Wedson Almeida Filho , Gary Guo , =?iso-8859-1?Q?Bj=F6rn?= Roy Baron , Benno Lossin , Andreas Hindborg , Alice Ryhl , Alan Stern , Andrea Parri , Will Deacon , Peter Zijlstra , Nicholas Piggin , David Howells , Jade Alglave , Luc Maranget , "Paul E. McKenney" , Akira Yokosawa , Daniel Lustig , Joel Fernandes , Nathan Chancellor , Nick Desaulniers , kent.overstreet@gmail.com, Greg Kroah-Hartman , elver@google.com, Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Catalin Marinas , torvalds@linux-foundation.org, linux-arm-kernel@lists.infradead.org, linux-fsdevel@vger.kernel.org, Trevor Gross , dakr@redhat.com Subject: Re: [RFC 2/2] rust: sync: Add atomic support Message-ID: References: <20240612223025.1158537-1-boqun.feng@gmail.com> <20240612223025.1158537-3-boqun.feng@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240614_132014_667342_2B56D115 X-CRM114-Status: GOOD ( 15.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, Jun 14, 2024 at 11:40:47AM +0100, Mark Rutland wrote: [...] > > +#gen_proto_order_variant(meta, pfx, name, sfx, order, atomic, ty, int, raw, arg...) > > +gen_proto_order_variant() > > +{ > > + local meta="$1"; shift > > + local pfx="$1"; shift > > + local name="$1"; shift > > + local sfx="$1"; shift > > + local order="$1"; shift > > + local atomic="$1"; shift > > + local ty="$1"; shift > > + local int="$1"; shift > > + local raw="$1"; shift > > + > > + local fn_name="${raw}${pfx}${name}${sfx}${order}" > > + local atomicname="${raw}${atomic}_${pfx}${name}${sfx}${order}" > > + > > + local ret="$(gen_ret_type "${meta}" "${int}")" > > + local params="$(gen_params "${int}" $@)" > > + local args="$(gen_args "$@")" > > + local retstmt="$(gen_ret_stmt "${meta}")" > > + > > +cat < > + /// See \`${atomicname}\`. > > + #[inline(always)] > > + pub fn ${fn_name}(&self${params}) ${ret}{ > > + // SAFETY:\`self.0.get()\` is a valid pointer. > > + unsafe { > > + ${retstmt}${atomicname}(${args}); > > + } > > + } > > +EOF > > +} > > AFAICT the 'ty' argument (AtomicI32/AtomicI64) isn't used and can be > removed. > Good catch. > Likewise for 'raw'. > > > + > > +cat << EOF > > +// SPDX-License-Identifier: GPL-2.0 > > + > > +//! Generated by $0 > > +//! DO NOT MODIFY THIS FILE DIRECTLY > > + > > +use super::*; > > +use crate::bindings::*; > > + > > +impl AtomicI32 { > > +EOF > > + > > +grep '^[a-z]' "$1" | while read name meta args; do > > + gen_proto "${meta}" "${name}" "atomic" "AtomicI32" "i32" "" ${args} > > With 'ty' and 'raw' gone, this'd be: > > gen_proto "${meta}" "${name}" "atomic" "i32" ${args} > > > +done > > + > > +cat << EOF > > +} > > + > > +impl AtomicI64 { > > +EOF > > + > > +grep '^[a-z]' "$1" | while read name meta args; do > > + gen_proto "${meta}" "${name}" "atomic64" "AtomicI64" "i64" "" ${args} > > With 'ty' and 'raw' gone, this'd be: > > gen_proto "${meta}" "${name}" "atomic64" "i64" ${args} > All fixed locally, thanks! Regards, Boqun > Mark. > > > +done > > + > > +cat << EOF > > +} > > + > > +EOF > > -- > > 2.45.2 > >