summaryrefslogtreecommitdiff
path: root/rust/kernel
diff options
context:
space:
mode:
authorKunwu Chan <kunwu.chan@hotmail.com>2025-03-17 10:52:05 +0800
committerBoqun Feng <boqun.feng@gmail.com>2025-06-24 10:23:48 -0700
commit11867144ff81ab98f4b11c99716c3e8b714b8755 (patch)
treed8da8559e704d2cbdc01c690a156d3a576de6fb1 /rust/kernel
parent3f9ebeba9878679bb43ee2db7d50a4691f55e3a5 (diff)
rust: sync: Mark PollCondVar::drop() inline
When building the kernel using the llvm-18.1.3-rust-1.85.0-x86_64 with ARCH=arm64, the following symbols are generated: $nm vmlinux | grep ' _R'.*PollCondVar | rustfilt ... T <kernel::sync::poll::PollCondVar as kernel::init::PinnedDrop>::drop ... This Rust symbol is trivial wrappers around the C functions __wake_up_pollfree() and synchronize_rcu(). It doesn't make sense to go through a trivial wrapper for its functions, so mark it inline. [boqun: Reword the commit title and re-format the commit log per tip tree's requirement, remove unnecessary information from "nm vmlinux" result.] Link: https://github.com/Rust-for-Linux/linux/issues/1145 Suggested-by: Alice Ryhl <aliceryhl@google.com> Co-developed-by: Grace Deng <Grace.Deng006@Gmail.com> Signed-off-by: Grace Deng <Grace.Deng006@Gmail.com> Signed-off-by: Kunwu Chan <kunwu.chan@hotmail.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Reviewed-by: Benno Lossin <benno.lossin@proton.me> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://lore.kernel.org/r/20250317025205.2366518-1-kunwu.chan@linux.dev
Diffstat (limited to 'rust/kernel')
-rw-r--r--rust/kernel/sync/poll.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/rust/kernel/sync/poll.rs b/rust/kernel/sync/poll.rs
index d7e6e59e124b..7b973d72229b 100644
--- a/rust/kernel/sync/poll.rs
+++ b/rust/kernel/sync/poll.rs
@@ -107,6 +107,7 @@ impl Deref for PollCondVar {
#[pinned_drop]
impl PinnedDrop for PollCondVar {
+ #[inline]
fn drop(self: Pin<&mut Self>) {
// Clear anything registered using `register_wait`.
//