[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZyoP0IKVmxfesRU8@8bytes.org>
Date: Tue, 5 Nov 2024 13:30:08 +0100
From: Joerg Roedel <joro@...tes.org>
To: Suravee Suthikulpanit <suravee.suthikulpanit@....com>
Cc: linux-kernel@...r.kernel.org, iommu@...ts.linux.dev,
robin.murphy@....com, vasant.hegde@....com, jgg@...dia.com,
kevin.tian@...el.com, jon.grimm@....com, santosh.shukla@....com,
pandoh@...gle.com, kumaranand@...gle.com,
Uros Bizjak <ubizjak@...il.com>, Arnd Bergmann <arnd@...db.de>,
linux-arch@...r.kernel.org
Subject: Re: [PATCH v9 03/10] asm/rwonce: Introduce [READ|WRITE]_ONCE()
support for __int128
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@...db.de>
linux-arch@...r.kernel.org
>
> 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
>
Powered by blists - more mailing lists