lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <67E28AC5-3EE3-4E0B-9CA1-BBDADA5A28C0@collabora.com>
Date: Fri, 25 Jul 2025 14:59:24 -0300
From: Daniel Almeida <daniel.almeida@...labora.com>
To: Alexandre Courbot <acourbot@...dia.com>
Cc: Danilo Krummrich <dakr@...nel.org>,
 David Airlie <airlied@...il.com>,
 Simona Vetter <simona@...ll.ch>,
 Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
 Maxime Ripard <mripard@...nel.org>,
 Thomas Zimmermann <tzimmermann@...e.de>,
 Beata Michalska <beata.michalska@....com>,
 nouveau@...ts.freedesktop.org,
 dri-devel@...ts.freedesktop.org,
 rust-for-linux@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 14/19] gpu: nova-core: register: use #[inline(always)]
 for all methods



> On 18 Jul 2025, at 04:26, Alexandre Courbot <acourbot@...dia.com> wrote:
> 
> These methods should always be inlined, so use the strongest compiler
> hint that exists to maximize the chance they will indeed be.
> 
> Signed-off-by: Alexandre Courbot <acourbot@...dia.com>
> ---
> drivers/gpu/nova-core/regs/macros.rs | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/nova-core/regs/macros.rs b/drivers/gpu/nova-core/regs/macros.rs
> index bfa0220050d4ba03c9fcd75c9be1ed8dbaa4f290..a9f754056c3521b2a288f34bf3d78ec56db53451 100644
> --- a/drivers/gpu/nova-core/regs/macros.rs
> +++ b/drivers/gpu/nova-core/regs/macros.rs
> @@ -280,7 +280,7 @@ impl $name {
>         #[doc="Returns the value of this field:"]
>         #[doc=$comment]
>         )?
> -        #[inline]
> +        #[inline(always)]
>         pub(crate) fn $field(self) -> $res_type {
>             ::kernel::macros::paste!(
>             const MASK: u32 = $name::[<$field:upper _MASK>];
> @@ -296,7 +296,7 @@ pub(crate) fn $field(self) -> $res_type {
>         #[doc="Sets the value of this field:"]
>         #[doc=$comment]
>         )?
> -        #[inline]
> +        #[inline(always)]
>         pub(crate) fn [<set_ $field>](mut self, value: $to_type) -> Self {
>             const MASK: u32 = $name::[<$field:upper _MASK>];
>             const SHIFT: u32 = $name::[<$field:upper _SHIFT>];
> @@ -348,7 +348,7 @@ impl $name {
>             pub(crate) const OFFSET: usize = $offset;
> 
>             /// Read the register from its address in `io`.
> -            #[inline]
> +            #[inline(always)]
>             pub(crate) fn read<const SIZE: usize, T>(io: &T) -> Self where
>                 T: ::core::ops::Deref<Target = ::kernel::io::Io<SIZE>>,
>             {
> @@ -356,7 +356,7 @@ pub(crate) fn read<const SIZE: usize, T>(io: &T) -> Self where
>             }
> 
>             /// Write the value contained in `self` to the register address in `io`.
> -            #[inline]
> +            #[inline(always)]
>             pub(crate) fn write<const SIZE: usize, T>(self, io: &T) where
>                 T: ::core::ops::Deref<Target = ::kernel::io::Io<SIZE>>,
>             {
> @@ -365,7 +365,7 @@ pub(crate) fn write<const SIZE: usize, T>(self, io: &T) where
> 
>             /// Read the register from its address in `io` and run `f` on its value to obtain a new
>             /// value to write back.
> -            #[inline]
> +            #[inline(always)]
>             pub(crate) fn alter<const SIZE: usize, T, F>(
>                 io: &T,
>                 f: F,
> @@ -385,7 +385,7 @@ pub(crate) fn alter<const SIZE: usize, T, F>(
>         impl $name {
>             pub(crate) const OFFSET: usize = $offset;
> 
> -            #[inline]
> +            #[inline(always)]
>             pub(crate) fn read<const SIZE: usize, T>(
>                 io: &T,
>                 base: usize,
> @@ -395,7 +395,7 @@ pub(crate) fn read<const SIZE: usize, T>(
>                 Self(io.read32(base + $offset))
>             }
> 
> -            #[inline]
> +            #[inline(always)]
>             pub(crate) fn write<const SIZE: usize, T>(
>                 self,
>                 io: &T,
> @@ -406,7 +406,7 @@ pub(crate) fn write<const SIZE: usize, T>(
>                 io.write32(self.0, base + $offset)
>             }
> 
> -            #[inline]
> +            #[inline(always)]
>             pub(crate) fn alter<const SIZE: usize, T, F>(
>                 io: &T,
>                 base: usize,
> 
> -- 
> 2.50.1
> 
> 

Reviewed-by: Daniel Almeida <daniel.almeida@...labora.com>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ