From nobody Tue Feb 10 00:24:47 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED2C18F70; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; cv=none; b=OPkYogZNkKag06wyhJ60Zw6cYssM0+0GYcfx74aB5+pBtCXLo3FDFxuVPFFmkTaxrMiDywWp+6gzpd/kfAXUjgzHQhYowTgVBrkQcfYP7TwN2W3hEUcAzaoAvuEDlXAVKQ7KMdRwRlhNVKOKZlQRAUxQ7ZgjalCH3/ctccEfliE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; c=relaxed/simple; bh=01pGRoOVLm7FmVgPZ/DAaMBZsWrBo+heyMml9ojdBqE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Hx7ctJqJF7bCsn6MH+STKh8a12DWtS9W4zuINLtQyGmydz7Wj0aRKUXnyyvqzpgum2PQEd/UX7DQUXGUlsDuZ00M5i5OwKHTNhuka1l1WpOrokTL6XfOjKx7D4JalKpe5b+U/PMDfkZTo19h3xFLCtTvSgBoXGrWoCKDobRpVKc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BaSu7pSr; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BaSu7pSr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 761A8C32786; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722558137; bh=01pGRoOVLm7FmVgPZ/DAaMBZsWrBo+heyMml9ojdBqE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BaSu7pSriJHJJ3Exqnm56VYPI28kJ2IndCCZaH+vzU4k5/X6Ef+AkUUjPo1oik4v1 bvlGdu+dGhHHQU3t3q1dzSKB2bUdW+++cJ9HTuO0c7weHHyrygobUdftIL3hF/ShLk VULLPP7vVk+JfP1nn2yAVxUnI1Fca1MsM+zl63Tpbz0duZw4enigoFDm7J+3orX+cu ib3ckyn/099zt4Nib86qKiY6DyftvTtYRwisGvp5l4exeDmNMox6Z6XngGs+rq83wL y7aBOh2xg0cXFK6aR4Hyctw05YvhwUMAmyD0aVesIUlT0mBL/sA0nHKhXFdrl4hXIH qknbqF4iyD7pA== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 2D8F5CE09F8; Thu, 1 Aug 2024 17:22:17 -0700 (PDT) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, lkmm@lists.linux.dev, kernel-team@meta.com, mingo@kernel.org Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com, will@kernel.org, peterz@infradead.org, boqun.feng@gmail.com, npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr, akiyks@gmail.com, Puranjay Mohan , "Paul E . McKenney" , Daniel Lustig , Joel Fernandes Subject: [PATCH memory-model 1/7] tools/memory-model: Add atomic_and()/or()/xor() and add_negative Date: Thu, 1 Aug 2024 17:22:09 -0700 Message-Id: <20240802002215.4133695-1-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Puranjay Mohan Pull-849[1] added the support of '&', '|', and '^' to the herd7 tool's atomics operations. Use these in linux-kernel.def to implement atomic_and()/or()/xor() with all their ordering variants. atomic_add_negative() is already available so add its acquire, release, and relaxed ordering variants. [1] https://github.com/herd/herdtools7/pull/849 Signed-off-by: Puranjay Mohan Acked-by: Andrea Parri Reviewed-by: Boqun Feng Signed-off-by: Paul E. McKenney Cc: Alan Stern Cc: Will Deacon Cc: Peter Zijlstra Cc: Nicholas Piggin Cc: David Howells Cc: Jade Alglave Cc: Luc Maranget Cc: Akira Yokosawa Cc: Daniel Lustig Cc: Joel Fernandes Cc: --- tools/memory-model/linux-kernel.def | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tools/memory-model/linux-kernel.def b/tools/memory-model/linux= -kernel.def index 88a39601f5256..d1f11930ec512 100644 --- a/tools/memory-model/linux-kernel.def +++ b/tools/memory-model/linux-kernel.def @@ -65,6 +65,9 @@ atomic_set_release(X,V) { smp_store_release(X,V); } =20 atomic_add(V,X) { __atomic_op(X,+,V); } atomic_sub(V,X) { __atomic_op(X,-,V); } +atomic_and(V,X) { __atomic_op(X,&,V); } +atomic_or(V,X) { __atomic_op(X,|,V); } +atomic_xor(V,X) { __atomic_op(X,^,V); } atomic_inc(X) { __atomic_op(X,+,1); } atomic_dec(X) { __atomic_op(X,-,1); } =20 @@ -77,6 +80,21 @@ atomic_fetch_add_relaxed(V,X) __atomic_fetch_op{once}(X,= +,V) atomic_fetch_add_acquire(V,X) __atomic_fetch_op{acquire}(X,+,V) atomic_fetch_add_release(V,X) __atomic_fetch_op{release}(X,+,V) =20 +atomic_fetch_and(V,X) __atomic_fetch_op{mb}(X,&,V) +atomic_fetch_and_relaxed(V,X) __atomic_fetch_op{once}(X,&,V) +atomic_fetch_and_acquire(V,X) __atomic_fetch_op{acquire}(X,&,V) +atomic_fetch_and_release(V,X) __atomic_fetch_op{release}(X,&,V) + +atomic_fetch_or(V,X) __atomic_fetch_op{mb}(X,|,V) +atomic_fetch_or_relaxed(V,X) __atomic_fetch_op{once}(X,|,V) +atomic_fetch_or_acquire(V,X) __atomic_fetch_op{acquire}(X,|,V) +atomic_fetch_or_release(V,X) __atomic_fetch_op{release}(X,|,V) + +atomic_fetch_xor(V,X) __atomic_fetch_op{mb}(X,^,V) +atomic_fetch_xor_relaxed(V,X) __atomic_fetch_op{once}(X,^,V) +atomic_fetch_xor_acquire(V,X) __atomic_fetch_op{acquire}(X,^,V) +atomic_fetch_xor_release(V,X) __atomic_fetch_op{release}(X,^,V) + atomic_inc_return(X) __atomic_op_return{mb}(X,+,1) atomic_inc_return_relaxed(X) __atomic_op_return{once}(X,+,1) atomic_inc_return_acquire(X) __atomic_op_return{acquire}(X,+,1) @@ -117,3 +135,6 @@ atomic_sub_and_test(V,X) __atomic_op_return{mb}(X,-,V) = =3D=3D 0 atomic_dec_and_test(X) __atomic_op_return{mb}(X,-,1) =3D=3D 0 atomic_inc_and_test(X) __atomic_op_return{mb}(X,+,1) =3D=3D 0 atomic_add_negative(V,X) __atomic_op_return{mb}(X,+,V) < 0 +atomic_add_negative_relaxed(V,X) __atomic_op_return{once}(X,+,V) < 0 +atomic_add_negative_acquire(V,X) __atomic_op_return{acquire}(X,+,V) < 0 +atomic_add_negative_release(V,X) __atomic_op_return{release}(X,+,V) < 0 --=20 2.40.1 From nobody Tue Feb 10 00:24:47 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C061D79F3; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558137; cv=none; b=HVN9qVoecjS/wrQkrOP+kW9QTEAI82keuovDGlSfncAtwlGWThP1dDnRs6QnwbpvoARRLGs60Taxod25h3DRjxwmM67b683qPF0soQuq5NIUh/1UmSrYIJngipcgY5oJHM+1kmKsXlkxjuM+MJzwFsBnfXD3ngFWblAslgHWDJc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558137; c=relaxed/simple; bh=21ND8h3aXwqP4GPXt1SePJHjRlQNFlNVkqExdK3K1F0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=SmlqF41nQHPrQFf5BwPVsfRKaU8axBlVesgOdI02136DgeKZUhsuISus9HlaI2cn2Z0xb6+a5bnYxAx8fBNVB/bsA1RlqEVViLHxbXEOR8CKYUJIhOVMwJM3mGBtWfRlQoZ7ZG0bNKCAEZYNBi956cgwv0AHbO7H3yNor87JUFM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=W0nfnCBU; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="W0nfnCBU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90E59C4AF0C; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722558137; bh=21ND8h3aXwqP4GPXt1SePJHjRlQNFlNVkqExdK3K1F0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W0nfnCBU933apYAMTZLNx2dGHT8W94gDuC5j3qYumvDt2d0n1l/8PNjicMIwvV3iL TBMuL3ntQ57n3vpr6wUQ8AJLdzzV9ldYuPpCUGaMEL0h4AgRrarbsN9SRIsTeLrMOI 08plQUTDTskDp5nUhj9zOkck5htJzDHBtZc7GRrpIBMVaOc0ySPVc1hlrULrYRHg97 kngLH8UurI/3xeTyPo20NR5hGutYdFApg5HaecnFTMc+z5o2qOqAwsJFi6h16xGAPU kWHL5mn7//Rk/I3Quf/ZS8TzCQrxv2sLo4b76H6QmsMea55+HVd6lF6XnhYcsZeB60 CFPy0RIv4okvA== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 31C5DCE0A01; Thu, 1 Aug 2024 17:22:17 -0700 (PDT) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, lkmm@lists.linux.dev, kernel-team@meta.com, mingo@kernel.org Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com, will@kernel.org, peterz@infradead.org, boqun.feng@gmail.com, npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr, akiyks@gmail.com, Puranjay Mohan , "Paul E . McKenney" , Daniel Lustig , Joel Fernandes Subject: [PATCH memory-model 2/7] tools/memory-model: Add atomic_andnot() with its variants Date: Thu, 1 Aug 2024 17:22:10 -0700 Message-Id: <20240802002215.4133695-2-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Puranjay Mohan Pull-855[1] added the support of atomic_andnot() to the herd tool. Use this to add the implementation in the LKMM. All of the ordering variants are also added. Here is a small litmus-test that uses this operation: C andnot { atomic_t u =3D ATOMIC_INIT(7); } P0(atomic_t *u) { r0 =3D atomic_fetch_andnot(3, u); r1 =3D READ_ONCE(*u); } exists (0:r0=3D7 /\ 0:r1=3D4) Test andnot Allowed States 1 0:r0=3D7; 0:r1=3D4; Ok Witnesses Positive: 1 Negative: 0 Condition exists (0:r0=3D7 /\ 0:r1=3D4) Observation andnot Always 1 0 Time andnot 0.00 Hash=3D78f011a0b5a0c65fa1cf106fcd62c845 [1] https://github.com/herd/herdtools7/pull/855 Signed-off-by: Puranjay Mohan Acked-by: Andrea Parri Signed-off-by: Paul E. McKenney Cc: Alan Stern Cc: Will Deacon Cc: Peter Zijlstra Cc: Boqun Feng Cc: Nicholas Piggin Cc: David Howells Cc: Jade Alglave Cc: Luc Maranget Cc: Akira Yokosawa Cc: Daniel Lustig Cc: Joel Fernandes Cc: --- tools/memory-model/linux-kernel.def | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/memory-model/linux-kernel.def b/tools/memory-model/linux= -kernel.def index d1f11930ec512..a12b96c547b7a 100644 --- a/tools/memory-model/linux-kernel.def +++ b/tools/memory-model/linux-kernel.def @@ -70,6 +70,7 @@ atomic_or(V,X) { __atomic_op(X,|,V); } atomic_xor(V,X) { __atomic_op(X,^,V); } atomic_inc(X) { __atomic_op(X,+,1); } atomic_dec(X) { __atomic_op(X,-,1); } +atomic_andnot(V,X) { __atomic_op(X,&~,V); } =20 atomic_add_return(V,X) __atomic_op_return{mb}(X,+,V) atomic_add_return_relaxed(V,X) __atomic_op_return{once}(X,+,V) @@ -138,3 +139,8 @@ atomic_add_negative(V,X) __atomic_op_return{mb}(X,+,V) = < 0 atomic_add_negative_relaxed(V,X) __atomic_op_return{once}(X,+,V) < 0 atomic_add_negative_acquire(V,X) __atomic_op_return{acquire}(X,+,V) < 0 atomic_add_negative_release(V,X) __atomic_op_return{release}(X,+,V) < 0 + +atomic_fetch_andnot(V,X) __atomic_fetch_op{mb}(X,&~,V) +atomic_fetch_andnot_acquire(V,X) __atomic_fetch_op{acquire}(X,&~,V) +atomic_fetch_andnot_release(V,X) __atomic_fetch_op{release}(X,&~,V) +atomic_fetch_andnot_relaxed(V,X) __atomic_fetch_op{once}(X,&~,V) --=20 2.40.1 From nobody Tue Feb 10 00:24:47 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F055DA935; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; cv=none; b=cGbC5Wvpi4TrIVqSgc0h866xqCXZFntDyrIXNK3AqPNXOzmePayMr9/qHM5L06ESt0mOMxYQoOZAdKNEp4eiRJ+N9rj2rd2pFiICCMQ2V2l93z9eA9kS/LFtmutu4TPqsbiDckdrIlwTsZGUC8nmF7yEjH8lrhOzyCTTSqMYG7U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; c=relaxed/simple; bh=vebIt+Hpgy4uDqbFeEXyt1jdBxLf1nRFeVvnQsvQDyg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Fs2G7w+jFLWNJb67w144si0csAmhBKiCLkzfZsJHaDjKXSK+2icPhN1xpq4VFhvSXISDq01HN1+C/IXAAGcBbbL9BvijFMSz9D1e1mTEllLK3hnc+KODCav8aFgDCOv3JicDGpgSPe0wsaYSYOQF1d6qHNi2pyQEO9uTfr8nr/M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SDKpDYCf; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SDKpDYCf" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8D7C7C4AF0A; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722558137; bh=vebIt+Hpgy4uDqbFeEXyt1jdBxLf1nRFeVvnQsvQDyg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SDKpDYCf/uxuLxSPLyD2Cr3V4ipXBtyoTsCmZ5Czgd63LxKTXzws7sBRBtc/fPfj2 NCSPiOZ+AvmH7hnDBrc3K9LQ9Szc67A/YxE0uK72IVsHTfBvQWRroWNwhZxSmCWh5q MWklL0XQKqKYucdxsF8zArfpTFT5X3zZGVdZUOdotOzp43yYirnikzxy5oMLAEN6tw 3W7tzxqUGGvbefttJjRUmsJQm2b6VloAc0P2oTERVxSOXnJ0+2WWJ3PgZoCIwY4Eab 14AJTUxstXcI7kR2dOjnW+eXxRvX58fN02h9kIqr7qkhlON9WQFwbnL1kmyiwgPlh6 snjJ+ZYXRq3pw== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 3553FCE0BC3; Thu, 1 Aug 2024 17:22:17 -0700 (PDT) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, lkmm@lists.linux.dev, kernel-team@meta.com, mingo@kernel.org Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com, will@kernel.org, peterz@infradead.org, boqun.feng@gmail.com, npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr, akiyks@gmail.com, Hernan Ponce de Leon , "Paul E . McKenney" Subject: [PATCH memory-model 3/7] tools/memory-model: Document herd7 (abstract) representation Date: Thu, 1 Aug 2024 17:22:11 -0700 Message-Id: <20240802002215.4133695-3-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Andrea Parri The Linux-kernel memory model (LKMM) source code and the herd7 tool are closely linked in that the latter is responsible for (pre)processing each C-like macro of a litmus test, and for providing the LKMM with a set of events, or "representation", corresponding to the given macro. This commit therefore provides herd-representation.txt to document the representations of the concurrency macros, following their "classification" in Documentation/atomic_t.txt. Link: https://lore.kernel.org/all/ZnFZPJlILp5B9scN@andrea/ Suggested-by: Hernan Ponce de Leon Signed-off-by: Andrea Parri Reviewed-by: Boqun Feng Reviewed-by: Hernan Ponce de Leon Signed-off-by: Paul E. McKenney --- tools/memory-model/Documentation/README | 7 +- .../Documentation/herd-representation.txt | 110 ++++++++++++++++++ 2 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 tools/memory-model/Documentation/herd-representation.txt diff --git a/tools/memory-model/Documentation/README b/tools/memory-model/D= ocumentation/README index 304162743a5b8..44e7dae73b296 100644 --- a/tools/memory-model/Documentation/README +++ b/tools/memory-model/Documentation/README @@ -33,7 +33,8 @@ o You are familiar with Linux-kernel concurrency and the = use of =20 o You are familiar with Linux-kernel concurrency and the use of LKMM, and would like to learn about LKMM's requirements, - rationale, and implementation: explanation.txt + rationale, and implementation: explanation.txt and + herd-representation.txt =20 o You are interested in the publications related to LKMM, including hardware manuals, academic literature, standards-committee @@ -61,6 +62,10 @@ control-dependencies.txt explanation.txt Detailed description of the memory model. =20 +herd-representation.txt + The (abstract) representation of the Linux-kernel concurrency + primitives in terms of events. + litmus-tests.txt The format, features, capabilities, and limitations of the litmus tests that LKMM can evaluate. diff --git a/tools/memory-model/Documentation/herd-representation.txt b/too= ls/memory-model/Documentation/herd-representation.txt new file mode 100644 index 0000000000000..ed988906f2b71 --- /dev/null +++ b/tools/memory-model/Documentation/herd-representation.txt @@ -0,0 +1,110 @@ +# +# Legend: +# R, a Load event +# W, a Store event +# F, a Fence event +# LKR, a Lock-Read event +# LKW, a Lock-Write event +# UL, an Unlock event +# LF, a Lock-Fail event +# RL, a Read-Locked event +# RU, a Read-Unlocked event +# R*, a Load event included in RMW +# W*, a Store event included in RMW +# SRCU, a Sleepable-Read-Copy-Update event +# +# po, a Program-Order link +# rmw, a Read-Modify-Write link - every rmw link is a po link +# +# By convention, a blank line in a cell means "same as the preceding line". +# +# Disclaimer. The table includes representations of "add" and "and" opera= tions; +# corresponding/identical representations of "sub", "inc", "dec" and "or",= "xor", +# "andnot" operations are omitted. +# + ----------------------------------------------------------------------= -------- + | C macro | Events = | + ----------------------------------------------------------------------= -------- + | Non-RMW ops | = | + ----------------------------------------------------------------------= -------- + | READ_ONCE | R[once] = | + | atomic_read | = | + | WRITE_ONCE | W[once] = | + | atomic_set | = | + | smp_load_acquire | R[acquire] = | + | atomic_read_acquire | = | + | smp_store_release | W[release] = | + | atomic_set_release | = | + | smp_store_mb | W[once] ->po F[mb] = | + | smp_mb | F[mb] = | + | smp_rmb | F[rmb] = | + | smp_wmb | F[wmb] = | + | smp_mb__before_atomic | F[before-atomic] = | + | smp_mb__after_atomic | F[after-atomic] = | + | spin_unlock | UL = | + | spin_is_locked | On success: RL = | + | | On failure: RU = | + | smp_mb__after_spinlock | F[after-spinlock] = | + | smp_mb__after_unlock_lock | F[after-unlock-lock] = | + | rcu_read_lock | F[rcu-lock] = | + | rcu_read_unlock | F[rcu-unlock] = | + | synchronize_rcu | F[sync-rcu] = | + | rcu_dereference | R[once] = | + | rcu_assign_pointer | W[release] = | + | srcu_read_lock | R[srcu-lock] = | + | srcu_down_read | = | + | srcu_read_unlock | W[srcu-unlock] = | + | srcu_up_read | = | + | synchronize_srcu | SRCU[sync-srcu] = | + | smp_mb__after_srcu_read_unlock | F[after-srcu-read-unlock] = | + ----------------------------------------------------------------------= -------- + | RMW ops w/o return value | = | + ----------------------------------------------------------------------= -------- + | atomic_add | R*[noreturn] ->rmw W*[once] = | + | atomic_and | = | + | spin_lock | LKR ->po LKW = | + ----------------------------------------------------------------------= -------- + | RMW ops w/ return value | = | + ----------------------------------------------------------------------= -------- + | atomic_add_return | F[mb] ->po R*[once] = | + | | ->rmw W*[once] ->po F[mb] = | + | atomic_fetch_add | = | + | atomic_fetch_and | = | + | atomic_xchg | = | + | xchg | = | + | atomic_add_negative | = | + | atomic_add_return_relaxed | R*[once] ->rmw W*[once] = | + | atomic_fetch_add_relaxed | = | + | atomic_fetch_and_relaxed | = | + | atomic_xchg_relaxed | = | + | xchg_relaxed | = | + | atomic_add_negative_relaxed | = | + | atomic_add_return_acquire | R*[acquire] ->rmw W*[once] = | + | atomic_fetch_add_acquire | = | + | atomic_fetch_and_acquire | = | + | atomic_xchg_acquire | = | + | xchg_acquire | = | + | atomic_add_negative_acquire | = | + | atomic_add_return_release | R*[once] ->rmw W*[release] = | + | atomic_fetch_add_release | = | + | atomic_fetch_and_release | = | + | atomic_xchg_release | = | + | xchg_release | = | + | atomic_add_negative_release | = | + ----------------------------------------------------------------------= -------- + | Conditional RMW ops | = | + ----------------------------------------------------------------------= -------- + | atomic_cmpxchg | On success: F[mb] ->po R*[once] = | + | | ->rmw W*[once] ->po= F[mb] | + | | On failure: R*[once] = | + | cmpxchg | = | + | atomic_add_unless | = | + | atomic_cmpxchg_relaxed | On success: R*[once] ->rmw W*[once]= | + | | On failure: R*[once] = | + | atomic_cmpxchg_acquire | On success: R*[acquire] ->rmw W*[on= ce] | + | | On failure: R*[once] = | + | atomic_cmpxchg_release | On success: R*[once] ->rmw W*[relea= se] | + | | On failure: R*[once] = | + | spin_trylock | On success: LKR ->po LKW = | + | | On failure: LF = | + ----------------------------------------------------------------------= -------- --=20 2.40.1 From nobody Tue Feb 10 00:24:47 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEE5DA92D; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; cv=none; b=XDiAqTNJYnqQUYfMKljKV8mHGAopSo6QkjA5FvUz/RFFb/sFMyDRgxWAd3B7WqrtuMhqA8An514+3rkvbhVtVantjhBjVGhgdE7ddKohCruwtx+oj/wWpUC9Yv0X4E7DJDEBQIASBDQBCi/S/0fh35i5IXx0yl7Dp/6gl6VgGbU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; c=relaxed/simple; bh=HWgXzYpJ7/mbDcOQ+89qAzkXxLhuNy9Ezr+ijzp8aQQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=E8Uwn24jqAr7CbkHqYS7WBs17fBV4OlppAqE7V//h2bYdEaZLF0FoXtKriYgElAOvfFhuQjopd+Fsy6vm4Y21VlaPL5qRAATNjmXPbLsS9RUSpL2EHsIx3Q9l0XrPXpeWosYW4ORkbq7HkMv/Wyan/I+F6oCdAwbb+T37L7k6tk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Rx547oAj; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Rx547oAj" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94A22C4AF0E; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722558137; bh=HWgXzYpJ7/mbDcOQ+89qAzkXxLhuNy9Ezr+ijzp8aQQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Rx547oAjhx0eCaJSEDCH1dUI0bkjyduk0/5k/th+eB5774fuQUS4wY4bPDix780dw yexIIUSusFf/0thrndRb6/j1M586ecscemJZmDUqHX1EcTxXOdr6Jh2mkUVC7pAEKF tipcKybyht6iE+dC1kWFzTATYDErokkwL25TWktIuz5BlqEYwlbdBfwuEaBGbMqXnv AJHv2+vlLlj1sY0K436g/7L1wFfxZobI/VtFKlvcib1mvcbr2ETrXhtxLQQfjVUTiH Z4ID0Q8faVmp3i0j2JgrpYFVn7vNYaT7jA+48yk7WCmiRSC4jWU/AhXMJLTG80lqbs /jyyGGb4Iqerg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 385E2CE0E0B; Thu, 1 Aug 2024 17:22:17 -0700 (PDT) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, lkmm@lists.linux.dev, kernel-team@meta.com, mingo@kernel.org Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com, will@kernel.org, peterz@infradead.org, boqun.feng@gmail.com, npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr, akiyks@gmail.com, Marco Elver , "Paul E . McKenney" Subject: [PATCH memory-model 4/7] tools/memory-model: Add locking.txt and glossary.txt to README Date: Thu, 1 Aug 2024 17:22:12 -0700 Message-Id: <20240802002215.4133695-4-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akira Yokosawa locking.txt and glossary.txt have been in LKMM's documentation for quite a while. Add them in README's introduction of docs and the list of docs at the bottom. Add access-marking.txt in the former as well. Signed-off-by: Akira Yokosawa Acked-by: Andrea Parri Cc: Marco Elver Signed-off-by: Paul E. McKenney --- tools/memory-model/Documentation/README | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tools/memory-model/Documentation/README b/tools/memory-model/D= ocumentation/README index 44e7dae73b296..9999c1effdb65 100644 --- a/tools/memory-model/Documentation/README +++ b/tools/memory-model/Documentation/README @@ -9,6 +9,8 @@ depending on what you know and what you would like to learn= . Please note that the documents later in this list assume that the reader understands the material provided by documents earlier in this list. =20 +If LKMM-specific terms lost you, glossary.txt might help you. + o You are new to Linux-kernel concurrency: simple.txt =20 o You have some background in Linux-kernel concurrency, and would @@ -21,6 +23,9 @@ o You are familiar with the Linux-kernel concurrency prim= itives that you need, and just want to get started with LKMM litmus tests: litmus-tests.txt =20 +o You would like to access lock-protected shared variables without + having their corresponding locks held: locking.txt + o You are familiar with Linux-kernel concurrency, and would like a detailed intuitive understanding of LKMM, including situations involving more than two threads: recipes.txt @@ -28,6 +33,11 @@ o You are familiar with Linux-kernel concurrency, and wo= uld o You would like a detailed understanding of what your compiler can and cannot do to control dependencies: control-dependencies.txt =20 +o You would like to mark concurrent normal accesses to shared + variables so that intentional "racy" accesses can be properly + documented, especially when you are responding to complaints + from KCSAN: access-marking.txt + o You are familiar with Linux-kernel concurrency and the use of LKMM, and would like a quick reference: cheatsheet.txt =20 @@ -62,6 +72,9 @@ control-dependencies.txt explanation.txt Detailed description of the memory model. =20 +glossary.txt + Brief definitions of LKMM-related terms. + herd-representation.txt The (abstract) representation of the Linux-kernel concurrency primitives in terms of events. @@ -70,6 +83,10 @@ litmus-tests.txt The format, features, capabilities, and limitations of the litmus tests that LKMM can evaluate. =20 +locking.txt + Rules for accessing lock-protected shared variables outside of + their corresponding critical sections. + ordering.txt Overview of the Linux kernel's low-level memory-ordering primitives by category. --=20 2.40.1 From nobody Tue Feb 10 00:24:47 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02BC8A955; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; cv=none; b=nvDzlv2nOnc852jyx++o/iX63qe94DP55m5vcuZYLjwmzKwaeSyAH5ukwRWtFuFipqI6g//98eBwlA0bG+fb9HhFlWpQRxIxGNjDYgojVn2U3nJmtBIGJ/G657MIBhDhq8LzhmImBkW1ygg4d0IyCtraRmS5IbyAUcXPBOLxyGo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; c=relaxed/simple; bh=HdiBZ1XC7eUKV9Q7mvlKTg9S3CesGyBkjj/5R1LjE0w=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=n7MO0YjCu3g88qB1sE+uC5ChJ1ohjBaTlMAINbASn0W9mjT2KAegNp1HRPajmeKcT36UnX/emJXK+jc8p4SLwCMVbevkLtcZNE4MYXdCepJFDbvpuZMy6DXQdy8nGmUOCVQj87BvMb3D3RxRLpe3j4ucJYu7EJOrpP5VW1Coj+I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GOrv9ux0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GOrv9ux0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A2ADDC4AF12; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722558137; bh=HdiBZ1XC7eUKV9Q7mvlKTg9S3CesGyBkjj/5R1LjE0w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GOrv9ux0BHehnC9Ok4L7rx8LLFL8nOdA0BxtaB7S5lU0Ml3y3mlWBJgMCsDshpCBh DsX6xyEtYMfUk5poUG60EF2u7anc9Ies934aJ1eH7bbEISg6IeoGZ4QyiV7BYscidb f2KdH+x/8O2VSv1+TZLtW+C98upOTqbfsPJJC3fwSaqeVNoYv/PRN+nJygOKG9vjFs WoljyS+Z6ADyDmP0xEe3icFTT9aSnDYQJ+DeFulu6boFnzX/q2335fvGtQsbbt8h3U aIU22fBhqGbppeeNmX/ecPxa/t3+6Q8OvZAXfEsSOXdMmhPNReehJyj+WEoqdAy1R0 CKB1l25jrOf/A== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 3B2D4CE0F69; Thu, 1 Aug 2024 17:22:17 -0700 (PDT) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, lkmm@lists.linux.dev, kernel-team@meta.com, mingo@kernel.org Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com, will@kernel.org, peterz@infradead.org, boqun.feng@gmail.com, npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr, akiyks@gmail.com, "Paul E . McKenney" Subject: [PATCH memory-model 5/7] tools/memory-model: simple.txt: Fix stale reference to recipes-pairs.txt Date: Thu, 1 Aug 2024 17:22:13 -0700 Message-Id: <20240802002215.4133695-5-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akira Yokosawa There has never been recipes-paris.txt at least since v5.11. Fix the typo. Signed-off-by: Akira Yokosawa Acked-by: Andrea Parri Signed-off-by: Paul E. McKenney --- tools/memory-model/Documentation/simple.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/memory-model/Documentation/simple.txt b/tools/memory-mod= el/Documentation/simple.txt index 4c789ec8334fc..21f06c1d1b70d 100644 --- a/tools/memory-model/Documentation/simple.txt +++ b/tools/memory-model/Documentation/simple.txt @@ -266,5 +266,5 @@ More complex use cases =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 If the alternatives above do not do what you need, please look at the -recipes-pairs.txt file to peel off the next layer of the memory-ordering +recipes.txt file to peel off the next layer of the memory-ordering onion. --=20 2.40.1 From nobody Tue Feb 10 00:24:47 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 41F93DF58; Fri, 2 Aug 2024 00:22:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; cv=none; b=kReup8wTLFx7KJe5pRpFBqpBeiecbEoKOKMlXV2J9otuEJk1BMq5FoOJKWS+w90eqh5IDIpYiqNAO9mRBG3VRpm1AFC9T+ictd1HK3CixgAMk3gsL/83yOGzOzqeQ1FgwQ+upknliCVFYE/4IparPFhp+V0/ZByRSzRESI5EOfg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; c=relaxed/simple; bh=YQa/BOhKsMMPECZqFlDEInRJsjszfx0/oAkzFKBeHPE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=V9HuSbmHg95/jPfKS2pL1YXwxwevcBuBFkSzUN5hfJIO8ZKSFcYIc0kX3WI5ZzIwJ7S2aHTmK14Og+zx8gA+DSPmzmuiLHMs8hbcukoUHUHZ0EDfttkxPcqHOZQHmmuKQlDLRzw7okTyfhTlvywYfsMDZO25xvvhjC77whMbJoI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=a9Wpw6Di; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="a9Wpw6Di" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DB24FC4AF4D; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722558137; bh=YQa/BOhKsMMPECZqFlDEInRJsjszfx0/oAkzFKBeHPE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=a9Wpw6Di29zAk7Jth13XJRfxf0N5JOZbcuVm0nkMP5fOHyCavyJ5mOvfXl4EP9JSH jT4tsTek8Ke7PQPq4Cyixs9xvFdApPtXzfKmzJ6pwA8EWTcAE8x7NPZ+EiE2YmSvtJ Y0/znLlz/WYS63e06UHxaNH0CztMeAmSEd43sFGIHL3skXWhe0QG9J7ACs/xgSlalG 7AqFbMwSo2ZGYXwbjKvSAswnT/OnR17NYDqDWK9f/uBuB3QvM9PC8qkNBb7IdHtdYS iTrHC84k9h8oufgv9c9QrOv/6DqREimavu87LFrY1kmKnz2Mytuajq1y0URkNFriEH pwmReqWtx9XRg== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 3E39FCE0FA1; Thu, 1 Aug 2024 17:22:17 -0700 (PDT) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, lkmm@lists.linux.dev, kernel-team@meta.com, mingo@kernel.org Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com, will@kernel.org, peterz@infradead.org, boqun.feng@gmail.com, npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr, akiyks@gmail.com, "Paul E . McKenney" Subject: [PATCH memory-model 6/7] docs/memory-barriers.txt: Remove left-over references to "CACHE COHERENCY" Date: Thu, 1 Aug 2024 17:22:14 -0700 Message-Id: <20240802002215.4133695-6-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akira Yokosawa Commit 8ca924aeb4f2 ("Documentation/barriers: Remove references to [smp_]read_barrier_depends()") removed the entire section of "CACHE COHERENCY", without getting rid of its traces. Remove them. Signed-off-by: Akira Yokosawa Cc: Will Deacon Signed-off-by: Paul E. McKenney Acked-by: Andrea Parri --- Documentation/memory-barriers.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barri= ers.txt index 4202174a6262c..93d58d9a428b8 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt @@ -88,7 +88,6 @@ CONTENTS =20 (*) The effects of the cpu cache. =20 - - Cache coherency. - Cache coherency vs DMA. - Cache coherency vs MMIO. =20 @@ -677,8 +676,6 @@ include/linux/rcupdate.h. This permits the current tar= get of an RCU'd pointer to be replaced with a new modified target, without the replacement target appearing to be incompletely initialised. =20 -See also the subsection on "Cache Coherency" for a more thorough example. - =20 CONTROL DEPENDENCIES -------------------- --=20 2.40.1 From nobody Tue Feb 10 00:24:47 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 41F3BDDC5; Fri, 2 Aug 2024 00:22:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; cv=none; b=P34ybGUcWDpscjOvjYIL8KnSvGHE4qAl7i+4j0q9xBYoPv2QO2p4p90/4jaZDhsMK3uILVQpxkxP3mQaJraOoQhiI0bKHsHztFltYYmMeupf45E72eXwtIqLVtfpGcTKNjvtuEIfr1VUunfPaZqkxD4eQix+PUL6xiCaV+26k7E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722558138; c=relaxed/simple; bh=fGwyHF+1MAl/tYpvKYg2zAfXlaeo9X5p2H1ojxOUXCc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=s8DKy6VAMXj3YugMSD6gOF2Pa+CRBppF0m/KYtmEPLTgnVkCBm8zEo2dybxY3AxM4M/lJ27uNYywSIWg/EU0JF0OqONyW5hL5YilAwP9NjTMITEz3EnUBvVxgb7s0Z9TxxITQwEKgHnmW7MR7GqMd8lYldUY/lXf24XX4jb/UZk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mU8V7dPG; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mU8V7dPG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E2876C4AF51; Fri, 2 Aug 2024 00:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1722558137; bh=fGwyHF+1MAl/tYpvKYg2zAfXlaeo9X5p2H1ojxOUXCc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mU8V7dPGz3HPDbGIUbXdgIw6lNkhoGkZFiAeIYUmllEmdQ2YEEWcgtQ7/aXdTtLXs Uogwkyp3DvKe5J1/6LbP4kEll0IliBsI416ckz1tm7qmC425vYXs/ccqkWRj37MTqx iC6Rel22dmGmhe14OEZboBa++014bL88xXK38UKylQFsimo5XOSiDZJg7Q1Crry4M9 k42zizgqMH0gHgKv5W2GcjHKwsejff/3Zy0aV77QtOmzl6fB/hjQKp278dwq/tgbzw DvnxteuqmomE6PMRbezZLQbUJ+tL9+7b6UcqNfp0/lhHfKzfp3pY/kFNSJhj0K6myK e4SOdutkHEHsQ== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id 40F51CE0FA9; Thu, 1 Aug 2024 17:22:17 -0700 (PDT) From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, lkmm@lists.linux.dev, kernel-team@meta.com, mingo@kernel.org Cc: stern@rowland.harvard.edu, parri.andrea@gmail.com, will@kernel.org, peterz@infradead.org, boqun.feng@gmail.com, npiggin@gmail.com, dhowells@redhat.com, j.alglave@ucl.ac.uk, luc.maranget@inria.fr, akiyks@gmail.com, "Paul E . McKenney" Subject: [PATCH memory-model 7/7] MAINTAINERS: Add the dedicated maillist info for LKMM Date: Thu, 1 Aug 2024 17:22:15 -0700 Message-Id: <20240802002215.4133695-7-paulmck@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Boqun Feng A dedicated mail list has been created for Linux kernel memory model discussion, which could help people more easily track memory model related discussions. This could also help bring memory model discussions to a broader audience. Therefore, add the list information to the LKMM maintainers entry. Signed-off-by: Boqun Feng Signed-off-by: Paul E. McKenney --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 42decde383206..0a3a769148fd8 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12993,6 +12993,7 @@ R: Daniel Lustig R: Joel Fernandes L: linux-kernel@vger.kernel.org L: linux-arch@vger.kernel.org +L: lkmm@lists.linux.dev S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git= dev F: Documentation/atomic_bitops.txt --=20 2.40.1