Re: [PATCH v9 03/10] asm/rwonce: Introduce [READ|WRITE]_ONCE() support for __int128

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 01, 2024 at 04:22:57PM +0000, Suravee Suthikulpanit wrote:
>  include/asm-generic/rwonce.h   | 2 +-
>  include/linux/compiler_types.h | 8 +++++++-
>  2 files changed, 8 insertions(+), 2 deletions(-)

This patch needs Cc:

	Arnd Bergmann <arnd@xxxxxxxx>
	linux-arch@xxxxxxxxxxxxxxx

> 
> diff --git a/include/asm-generic/rwonce.h b/include/asm-generic/rwonce.h
> index 8d0a6280e982..8bf942ad5ef3 100644
> --- a/include/asm-generic/rwonce.h
> +++ b/include/asm-generic/rwonce.h
> @@ -33,7 +33,7 @@
>   * (e.g. a virtual address) and a strong prevailing wind.
>   */
>  #define compiletime_assert_rwonce_type(t)					\
> -	compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),	\
> +	compiletime_assert(__native_word(t) || sizeof(t) == sizeof(__dword_type), \
>  		"Unsupported access size for {READ,WRITE}_ONCE().")
>  
>  /*
> diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h
> index 1a957ea2f4fe..54b56ae25db7 100644
> --- a/include/linux/compiler_types.h
> +++ b/include/linux/compiler_types.h
> @@ -469,6 +469,12 @@ struct ftrace_likely_data {
>  		unsigned type:	(unsigned type)0,			\
>  		signed type:	(signed type)0
>  
> +#ifdef __SIZEOF_INT128__
> +#define __dword_type __int128
> +#else
> +#define __dword_type long long
> +#endif
> +
>  #define __unqual_scalar_typeof(x) typeof(				\
>  		_Generic((x),						\
>  			 char:	(char)0,				\
> @@ -476,7 +482,7 @@ struct ftrace_likely_data {
>  			 __scalar_type_to_expr_cases(short),		\
>  			 __scalar_type_to_expr_cases(int),		\
>  			 __scalar_type_to_expr_cases(long),		\
> -			 __scalar_type_to_expr_cases(long long),	\
> +			 __scalar_type_to_expr_cases(__dword_type),	\
>  			 default: (x)))
>  
>  /* Is this type a native word size -- useful for atomic operations */
> -- 
> 2.34.1
> 




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux