[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z9vU9G9A0mneuqT0@google.com>
Date: Thu, 20 Mar 2025 08:42:28 +0000
From: Alice Ryhl <aliceryhl@...gle.com>
To: Kunwu Chan <kunwu.chan@...ux.dev>
Cc: ojeda@...nel.org, alex.gaynor@...il.com, boqun.feng@...il.com,
gary@...yguo.net, bjorn3_gh@...tonmail.com, benno.lossin@...ton.me,
a.hindborg@...nel.org, tmgross@...ch.edu, dakr@...nel.org, nathan@...nel.org,
nick.desaulniers+lkml@...il.com, morbo@...gle.com, justinstitt@...gle.com,
rust-for-linux@...r.kernel.org, linux-kernel@...r.kernel.org,
llvm@...ts.linux.dev, Kunwu Chan <kunwu.chan@...mail.com>,
Grace Deng <Grace.Deng006@...il.com>
Subject: Re: [PATCH v2] rust: sync: optimize Rust symbol generation for PollCondVar
On Mon, Mar 17, 2025 at 10:52:05AM +0800, Kunwu Chan wrote:
> From: Kunwu Chan <kunwu.chan@...mail.com>
>
> When build 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>::new::{closure#0}::{closure#0}::panic_cold_explicit
> ... T <kernel::sync::poll::PollCondVar as kernel::init::PinnedDrop>::drop
> ... T <kernel::sync::poll::PollCondVar as core::ops::drop::Drop>::drop
>
> This Rust symbol
> (<kernel::sync::poll::PollCondVar as kernel::init::PinnedDrop>::drop)
> 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.
>
> Link: https://github.com/Rust-for-Linux/linux/issues/1145
> Suggested-by: Alice Ryhl <aliceryhl@...gle.com>
> Co-developed-by: Grace Deng <Grace.Deng006@...il.com>
> Signed-off-by: Grace Deng <Grace.Deng006@...il.com>
> Signed-off-by: Kunwu Chan <kunwu.chan@...mail.com>
Reviewed-by: Alice Ryhl <aliceryhl@...gle.com>
Powered by blists - more mailing lists