From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) (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 3D09F3382E0 for ; Sun, 11 Jan 2026 11:58:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768132706; cv=none; b=YuH4PKp6BVu2dizR2rsZN6PP0PU4t/aKK0Anah0X+mInhS5FLE7R/kZNc4hQ0eVqRHA/bXRzBj+jl9DHF3e/z17f1iEfEY9irPn2ZKcsEJbxdV8cXNrhLf1VhRWW5ArQGddUmCQsjTzAyov1rtTCeex7Y3aRFcSVFUk5Pspj0mk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768132706; c=relaxed/simple; bh=qjizffnrTsWUgwOP2jB6ZL6X2+nAEONm5l3e7e/+U+A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=PSExLFZob+NytHu5cu5bNjbweIYpCqwQpra10rpTMTjB7+bU7CRkiVlgSSlvSw/PVzMrOrm25VIDZHiOFKVxI7TSJaAxjgskLTobwdfNcsN6G/Lm8wmax6J/aHt3j0XgI3WvOlEGb4oDmvYWyvT2IH+XsxguH71gEseV86htUtg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dD6TGemo; arc=none smtp.client-ip=209.85.222.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dD6TGemo" Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-8b2627269d5so627985385a.2 for ; Sun, 11 Jan 2026 03:58:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768132704; x=1768737504; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:feedback-id:from:to:cc:subject:date:message-id:reply-to; bh=m/tVoFoAsyGl7tOQXje6ixSZpOKnObNz8yY+wbg7wrM=; b=dD6TGemoNGu+oFdbRQf7JOdRC8wdAFi4+nKYx3qoVJKpTfIjMJotMMe8DnVbCMMD9I pXLNQFOM3xkC4l5SlzPTfwFmU9RA3gI6DPSp8f6qhLPRtk+ROj5OFJdxMWiaD5KgZOT3 78jwE0xHzknBfTDidsojMHtX7k4CjLk+xdmeM7tsPCZ4LdOklt8uGV6TXHn+ELa2mtKs ExqUsVNb/f1j8yUOsZa2JAD4TI3y4dPoJzNDZstCIAEItB7Or/O7+IwP9LqESCZXjcT2 6S68wVbjAeM1sF7bBKZwNyoH/atM/t+naahmfWc2dqcXucYE9wfeO+rPAsh4kJRi4+DM ofOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768132704; x=1768737504; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:feedback-id:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=m/tVoFoAsyGl7tOQXje6ixSZpOKnObNz8yY+wbg7wrM=; b=CJFjJwWZvMQGsrTOSfG8vRe+DuXm6e1UeuHT96SYJt89HhJ6H5WxeE9AJcmU7uHkdQ kTC6/4o7eeC1dlHnBcCo4XJn3Oa9omIiOuHrA6Kb49q3vN934iUCSKHFpuhVO4WUGI5S mmqrUn0hP5ehtjyQPu0vbaDZmmwjUkmdxlZPzf+2q3f4JptRGkSxDmSFlGRPeY31t0Uc +p4c49wjs/FVCDxDTl9dj4Bt2AIhsYdougK03MWH/ka/gR7z0gfW0MnJ3iqdnHWoMy8Q llyo6aFrEjmE/2s1UDcvNZH6xPZ66dobiwDYXZOZjY5awC5Zb/RORtzBGmOn/FzChyKE AW9g== X-Forwarded-Encrypted: i=1; AJvYcCXVMI3iitdYGQhRwnYUceG6FwZT0/845vRpBJ4eyjhXS9GV5I9x+LbpObbftemWkTLq7E13hKWjr9sEweE=@vger.kernel.org X-Gm-Message-State: AOJu0YyzJCe9kLgpAbbwFc/2sQD+c+/OMVhoM/V6L3NErm40RwczeMHo pdgDR9pOI9qvpr7oVS8qoVUSr3Lg0egKhoozxQEN8akWl8d59K0cGccp X-Gm-Gg: AY/fxX6nbat83tj/n3tCnOS3jNSAMuBkWGRO0zif1DCnP+Yiry/muN5+/3bKxhYSGYX ojTF11FgIuA1DRp1EmEhBx9kbIg324iAGwjzjo3MAY60Qa8YS6PtoY0w9tOmVtWP2T+/gW6fIaO 1U59UH3akv38j5+l2swgU44WsFw/V+6jzt8eguIjJD+2wzH/dNEE4E2myLAlSyWSMyV/VaXQ7Hd Ev5Ly8GIgA3Ga0D7H0w5uSCPIBB43T9etBh0PSFyJ/86uJ8ICnIgMVAafhkLamT6NePMNpTd7XE 7b0FSZIIXDZT9tvpydfjtHy1TsfB+9aId8ucbsM8ubFph/RDR+ZzrgPZqeNO24lvxCztE6VSwgx o6rTiwE118ViAW8//ELzAr6TBIrm0PN0PJZcQYTXE8GN/0rP72K448foxeBGeCEuu8enaCWp1ZN XvbD14PnJaxtOK+Q/3tgJjXSxqamC1LnfESfc0dX0OEZoa39Btefc76lJqvdGxPd8p4v5rr84fi GCmHEFWu9lUKVY= X-Google-Smtp-Source: AGHT+IHx14tCeKNCUgIU53xPQBZH30EDK0r0/sqCDEiO0OLa+kt5JNOWMmJUXgk59ZGGwktqIcARyg== X-Received: by 2002:a05:622a:4d:b0:4ed:bbca:fdff with SMTP id d75a77b69052e-4ffb47d78e0mr178470641cf.9.1768132704044; Sun, 11 Jan 2026 03:58:24 -0800 (PST) Received: from fauth-a2-smtp.messagingengine.com (fauth-a2-smtp.messagingengine.com. [103.168.172.201]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4ffa8e6ce5asm106604971cf.33.2026.01.11.03.58.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 Jan 2026 03:58:23 -0800 (PST) Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfauth.phl.internal (Postfix) with ESMTP id B8724F40068; Sun, 11 Jan 2026 06:58:22 -0500 (EST) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-05.internal (MEProxy); Sun, 11 Jan 2026 06:58:22 -0500 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdduudegheduucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepuehoqhhunhcuhfgv nhhguceosghoqhhunhdrfhgvnhhgsehgmhgrihhlrdgtohhmqeenucggtffrrghtthgvrh hnpeeggeeukeeghfevudektdevjeehhfekffevueefudeivdelteeltdekheejgfeiveen ucffohhmrghinhepkhgvrhhnvghlrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepsghoqhhunhdomhgvshhmthhprghuthhhphgvrhhs ohhnrghlihhthidqieelvdeghedtieegqddujeejkeehheehvddqsghoqhhunhdrfhgvnh hgpeepghhmrghilhdrtghomhesfhhigihmvgdrnhgrmhgvpdhnsggprhgtphhtthhopedu gedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepphgvthgvrhiisehinhhfrhgrug gvrggurdhorhhgpdhrtghpthhtohepmhhinhhgoheskhgvrhhnvghlrdhorhhgpdhrtghp thhtoheprhhushhtqdhfohhrqdhlihhnuhigsehvghgvrhdrkhgvrhhnvghlrdhorhhgpd hrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhg pdhrtghpthhtohepfihilhhlsehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrghrkh drrhhuthhlrghnugesrghrmhdrtghomhdprhgtphhtthhopehtghhlgieslhhinhhuthhr ohhnihigrdguvgdprhgtphhtthhopehojhgvuggrsehkvghrnhgvlhdrohhrghdprhgtph htthhopehgrghrhiesghgrrhihghhuohdrnhgvth X-ME-Proxy: Feedback-ID: iad51458e:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 11 Jan 2026 06:58:22 -0500 (EST) From: Boqun Feng To: "Peter Zijlstra" , "Ingo Molnar" Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, "Will Deacon" , "Mark Rutland" , "Thomas Gleixner" , "Miguel Ojeda" , "Gary Guo" , "Alice Ryhl" , "Andreas Hindborg" , "Benno Lossin" , "Danilo Krummrich" , Boqun Feng Subject: [GIT PULL][PATCH 00/36] Rust synchronization changes for v7.0 Date: Sun, 11 Jan 2026 19:57:32 +0800 Message-ID: <20260111115808.5702-1-boqun.feng@gmail.com> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Peter, Please pull the following changes of Rust synchronization for 7.0 into tip/locking/core, you can find the details of the changes in the git tag message below. Thanks! Regards, Boqun ---------------------------------------------------------------- The following changes since commit a45026cef17d1080c985adf28234d6c8475ad66f: locking/local_lock: Include more missing headers (2026-01-08 11:21:57 +0100) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git/ tags/rust-sync-7.0 for you to fetch changes up to ccf9e070116a81d29aae30db501d562c8efd1ed8: rust: sync: Inline various lock related methods (2026-01-10 10:53:46 +0800) ---------------------------------------------------------------- Rust synchronization changes for v7.0: - Add support for Atomic and replace most Rust native AtomicBool usages with Atomic, and further switching will require Atomic - Clean up LockClassKey and improve its docs - Add missing Send and Sync trait impl for SetOnce - Make ARef Unpin as it is supposed to be - Add __rust_helper to a few Rust helpers as a preparation for helper LTO - Inline various lock related functions to avoid additional function calls. -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmljjIkACgkQSXnow7UH +rizPQgAi5rdVoIpjN9BaQtWVHcAwBhbD7WhboxDhsSdEl3yaw0E7OLML5IyupLP BUsrI5BAhwUaIpE/4PT9RePLCOeFqCKfz9eyQpb6uEwLVKcx8WESrItrlStqK8dG lAZEV07SwAWq/ARsgI02LZnyDQxxBrX8Q4FKZgglpaBxieVXmQjekcSF2W6s3lka qWXB7MU38D3DZjKr6Lpp8BjdI7qTNInEZDGtRPncIId+4Jj7V5IpEX/NThyrDLp1 M0UzXOMzexIfeSm3oz95II6R+GeDpruI6pN8QDtljaTL0Al5/z5yO8Zj9KIPGAl4 9JRUJ0pNVrAUljjJ4ap8hIMPlOWqjw== =JOZ1 -----END PGP SIGNATURE----- ---------------------------------------------------------------- Alice Ryhl (16): rust: sync: Refactor static_lock_class!() macro rust: sync: Clean up LockClassKey and its docs rust: sync: Implement Unpin for ARef rust: barrier: Add __rust_helper to helpers rust: blk: Add __rust_helper to helpers rust: completion: Add __rust_helper to helpers rust: cpu: Add __rust_helper to helpers rust: processor: Add __rust_helper to helpers rust: rcu: Add __rust_helper to helpers rust: refcount: Add __rust_helper to helpers rust: sync: Add __rust_helper to helpers rust: task: Add __rust_helper to helpers rust: time: Add __rust_helper to helpers rust: wait: Add __rust_helper to helpers rust: helpers: Move #define __rust_helper out of atomic.c rust: sync: Inline various lock related methods Boqun Feng (1): arch: um/x86: Select ARCH_SUPPORTS_ATOMIC_RMW for UML_X86 FUJITA Tomonori (19): rust: sync: set_once: Implement Send and Sync rust: helpers: Add i8/i16 atomic_read_acquire/atomic_set_release helpers rust: helpers: Add i8/i16 relaxed atomic helpers rust: helpers: Add i8/i16 atomic xchg helpers rust: helpers: Add i8/i16 atomic xchg_acquire helpers rust: helpers: Add i8/i16 atomic xchg_release helpers rust: helpers: Add i8/i16 atomic xchg_relaxed helpers rust: helpers: Add i8/i16 atomic try_cmpxchg helpers rust: helpers: Add i8/i16 atomic try_cmpxchg_acquire helpers rust: helpers: Add i8/i16 atomic try_cmpxchg_release helpers rust: helpers: Add i8/i16 atomic try_cmpxchg_relaxed helpers rust: sync: atomic: Prepare AtomicOps macros for i8/i16 support rust: sync: atomic: Add i8/i16 load and store support rust: sync: atomic: Add store_release/load_acquire tests rust: sync: atomic: Add i8/i16 xchg and cmpxchg support rust: sync: atomic: Add atomic bool support via i8 representation rust: sync: atomic: Add atomic bool tests rust: list: Switch to kernel::sync atomic primitives rust_binder: Switch to kernel::sync atomic primitives arch/x86/um/Kconfig | 1 + drivers/android/binder/rust_binder_main.rs | 20 ++--- drivers/android/binder/stats.rs | 8 +- drivers/android/binder/thread.rs | 24 +++-- drivers/android/binder/transaction.rs | 16 ++-- rust/helpers/atomic.c | 7 +- rust/helpers/atomic_ext.c | 139 +++++++++++++++++++++++++++++ rust/helpers/barrier.c | 6 +- rust/helpers/blk.c | 4 +- rust/helpers/completion.c | 2 +- rust/helpers/cpu.c | 2 +- rust/helpers/helpers.c | 3 + rust/helpers/mutex.c | 13 +-- rust/helpers/processor.c | 2 +- rust/helpers/rcu.c | 4 +- rust/helpers/refcount.c | 10 +-- rust/helpers/signal.c | 2 +- rust/helpers/spinlock.c | 13 +-- rust/helpers/sync.c | 4 +- rust/helpers/task.c | 24 ++--- rust/helpers/time.c | 14 +-- rust/helpers/wait.c | 2 +- rust/kernel/list/arc.rs | 14 ++- rust/kernel/sync.rs | 74 +++++++++++---- rust/kernel/sync/aref.rs | 3 + rust/kernel/sync/atomic/internal.rs | 114 ++++++++++++++++++----- rust/kernel/sync/atomic/predefine.rs | 55 +++++++++++- rust/kernel/sync/lock.rs | 7 ++ rust/kernel/sync/lock/global.rs | 2 + rust/kernel/sync/lock/mutex.rs | 5 ++ rust/kernel/sync/lock/spinlock.rs | 5 ++ rust/kernel/sync/set_once.rs | 8 ++ scripts/atomic/gen-rust-atomic-helpers.sh | 5 -- 33 files changed, 462 insertions(+), 150 deletions(-) create mode 100644 rust/helpers/atomic_ext.c