[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z9K3vokYu5osMCwh@google.com>
Date: Thu, 13 Mar 2025 10:47:26 +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] rust: file: optimize rust symbol generation for FileDescriptorReservation
On Thu, Mar 13, 2025 at 04:45:25PM +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'.*FileDescriptorReservation | rustfilt
> ffff8000805b6ef0 T <kernel::fs::file::FileDescriptorReservation>
> ::fd_install
> ffff8000805b6e60 T <kernel::fs::file::FileDescriptorReservation>
> ::get_unused_fd_flags
> ffff8000805b6f08 T <kernel::fs::file::FileDescriptorReservation
> as core::ops::drop::Drop>::drop
>
> These Rust symbols are trivial wrappers around the C functions
> fd_install, put_unused_fd and put_task_struct.It
> doesn't make sense to go through a trivial wrapper for these
> functions, so mark them inline.
>
> After doing so, the above symbol will not in output.
>
> Signed-off-by: Kunwu Chan <kunwu.chan@...mail.com>
> Co-developed-by: Grace Deng <Grace.Deng006@...il.com>
> Signed-off-by: Grace Deng <Grace.Deng006@...il.com>
A few notes:
* Your own Signed-off-by must always be last.
* You're missing Link: and Suggested-by: tags.
* There are some grammar issues, e.g. a missing space before "It" and
the phrase "will not in output" is not good.
* Let's also add the marker to `reserved_fd` to be on the safe side.
* I think it is easier to read the symbols if you list each sybmol on
one line like this:
ffff8000805b6ef0 T <kernel::fs::file::FileDescriptorReservation>::fd_install
ffff8000805b6e60 T <kernel::fs::file::FileDescriptorReservation>::get_unused_fd_flags
ffff8000805b6f08 T <kernel::fs::file::FileDescriptorReservation as core::ops::drop::Drop>::drop
Alice
Powered by blists - more mailing lists