diff options
author | Ritvik Gupta <ritvikfoss@gmail.com> | 2025-08-11 06:49:58 +0530 |
---|---|---|
committer | Miguel Ojeda <ojeda@kernel.org> | 2025-09-14 23:58:45 +0200 |
commit | 67ff56cecc8701665ec137e5f151a7a7b2c37329 (patch) | |
tree | 2dea639e200c82269a427d670edc9bba8e0201c3 /rust/kernel | |
parent | 099381a08db3539c6aab6616c94d7950d74fcd2d (diff) |
rust: kernel: cpu: mark `CpuId::current()` inline
When building the kernel using llvm-20.1.7-rust-1.89.0-x86_64,
this symbol is generated:
$ llvm-nm --demangle vmlinux | grep CpuId
ffffffff84c77450 T <kernel::cpu::CpuId>::current
However, this Rust symbol is a trivial wrapper around
`raw_smp_processor_id` function. It doesn't make sense
to go through a trivial wrapper for such functions,
so mark it inline.
After applying this patch, the above command will produce no output.
Suggested-by: Alice Ryhl <aliceryhl@google.com>
Link: https://github.com/Rust-for-Linux/linux/issues/1145
Signed-off-by: Ritvik Gupta <ritvikfoss@gmail.com>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'rust/kernel')
-rw-r--r-- | rust/kernel/cpu.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/rust/kernel/cpu.rs b/rust/kernel/cpu.rs index 5de730c8d817..cb6c0338ef5a 100644 --- a/rust/kernel/cpu.rs +++ b/rust/kernel/cpu.rs @@ -109,6 +109,7 @@ impl CpuId { /// unexpectedly due to preemption or CPU migration. It should only be /// used when the context ensures that the task remains on the same CPU /// or the users could use a stale (yet valid) CPU ID. + #[inline] pub fn current() -> Self { // SAFETY: raw_smp_processor_id() always returns a valid CPU ID. unsafe { Self::from_u32_unchecked(bindings::raw_smp_processor_id()) } |