arm64: Remove system_uses_lse_atomics()

Message ID 20231017005036.334067-1-gshan@redhat.com
State New
Headers
Series arm64: Remove system_uses_lse_atomics() |

Commit Message

Gavin Shan Oct. 17, 2023, 12:50 a.m. UTC
  There are two variants of system_uses_lse_atomics(), depending on
CONFIG_ARM64_LSE_ATOMICS. The function isn't called anywhere when
CONFIG_ARM64_LSE_ATOMICS is disabled. It can be directly replaced
by alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) when the kernel
option is enabled.

No need to keep system_uses_lse_atomics() and just remove it.

Signed-off-by: Gavin Shan <gshan@redhat.com>
---
 arch/arm64/include/asm/lse.h | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)
  

Comments

Mark Rutland Oct. 17, 2023, 10:35 a.m. UTC | #1
On Tue, Oct 17, 2023 at 10:50:36AM +1000, Gavin Shan wrote:
> There are two variants of system_uses_lse_atomics(), depending on
> CONFIG_ARM64_LSE_ATOMICS. The function isn't called anywhere when
> CONFIG_ARM64_LSE_ATOMICS is disabled. It can be directly replaced
> by alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) when the kernel
> option is enabled.
> 
> No need to keep system_uses_lse_atomics() and just remove it.
> 
> Signed-off-by: Gavin Shan <gshan@redhat.com>

I had meant to remove this already, so:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

> ---
>  arch/arm64/include/asm/lse.h | 9 +--------
>  1 file changed, 1 insertion(+), 8 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/lse.h b/arch/arm64/include/asm/lse.h
> index cbbcdc35c4cd..3129a5819d0e 100644
> --- a/arch/arm64/include/asm/lse.h
> +++ b/arch/arm64/include/asm/lse.h
> @@ -16,14 +16,9 @@
>  #include <asm/atomic_lse.h>
>  #include <asm/cpucaps.h>
>  
> -static __always_inline bool system_uses_lse_atomics(void)
> -{
> -	return alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS);
> -}
> -
>  #define __lse_ll_sc_body(op, ...)					\
>  ({									\
> -	system_uses_lse_atomics() ?					\
> +	alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) ?		\
>  		__lse_##op(__VA_ARGS__) :				\
>  		__ll_sc_##op(__VA_ARGS__);				\
>  })
> @@ -34,8 +29,6 @@ static __always_inline bool system_uses_lse_atomics(void)
>  
>  #else	/* CONFIG_ARM64_LSE_ATOMICS */
>  
> -static inline bool system_uses_lse_atomics(void) { return false; }
> -
>  #define __lse_ll_sc_body(op, ...)		__ll_sc_##op(__VA_ARGS__)
>  
>  #define ARM64_LSE_ATOMIC_INSN(llsc, lse)	llsc
> -- 
> 2.41.0
>
  
Catalin Marinas Oct. 18, 2023, 10:15 a.m. UTC | #2
On Tue, 17 Oct 2023 10:50:36 +1000, Gavin Shan wrote:
> There are two variants of system_uses_lse_atomics(), depending on
> CONFIG_ARM64_LSE_ATOMICS. The function isn't called anywhere when
> CONFIG_ARM64_LSE_ATOMICS is disabled. It can be directly replaced
> by alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) when the kernel
> option is enabled.
> 
> No need to keep system_uses_lse_atomics() and just remove it.
> 
> [...]

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: Remove system_uses_lse_atomics()
      https://git.kernel.org/arm64/c/0899a6278a86
  

Patch

diff --git a/arch/arm64/include/asm/lse.h b/arch/arm64/include/asm/lse.h
index cbbcdc35c4cd..3129a5819d0e 100644
--- a/arch/arm64/include/asm/lse.h
+++ b/arch/arm64/include/asm/lse.h
@@ -16,14 +16,9 @@ 
 #include <asm/atomic_lse.h>
 #include <asm/cpucaps.h>
 
-static __always_inline bool system_uses_lse_atomics(void)
-{
-	return alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS);
-}
-
 #define __lse_ll_sc_body(op, ...)					\
 ({									\
-	system_uses_lse_atomics() ?					\
+	alternative_has_cap_likely(ARM64_HAS_LSE_ATOMICS) ?		\
 		__lse_##op(__VA_ARGS__) :				\
 		__ll_sc_##op(__VA_ARGS__);				\
 })
@@ -34,8 +29,6 @@  static __always_inline bool system_uses_lse_atomics(void)
 
 #else	/* CONFIG_ARM64_LSE_ATOMICS */
 
-static inline bool system_uses_lse_atomics(void) { return false; }
-
 #define __lse_ll_sc_body(op, ...)		__ll_sc_##op(__VA_ARGS__)
 
 #define ARM64_LSE_ATOMIC_INSN(llsc, lse)	llsc