|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 01/17] xen: x86 & generic: change to __builtin_prefetch()
Keir,
On Wed, 2014-03-26 at 13:38 +0000, Ian Campbell wrote:
> Quoting Andi Kleen in Linux b483570a13be from 2007:
> gcc 3.2+ supports __builtin_prefetch, so it's possible to use it on all
> architectures. Change the generic fallback in linux/prefetch.h to use it
> instead of noping it out. gcc should do the right thing when the
> architecture doesn't support prefetching
>
> Undefine the x86-64 inline assembler version and use the fallback.
>
> ARM wants to use the builtins.
>
> Fix a pair of spelling errors, one of which was from Lucas De Marchi in the
> Linux tree.
>
> Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Keir Fraser <keir@xxxxxxx>
Are you OK with this one?
Thanks,
Ian.
> ---
> xen/include/xen/prefetch.h | 13 +++----------
> 1 file changed, 3 insertions(+), 10 deletions(-)
>
> diff --git a/xen/include/xen/prefetch.h b/xen/include/xen/prefetch.h
> index 8d7d3ff..ba73998 100644
> --- a/xen/include/xen/prefetch.h
> +++ b/xen/include/xen/prefetch.h
> @@ -28,24 +28,17 @@
> prefetchw(x) - prefetches the cacheline at "x" for write
> spin_lock_prefetch(x) - prefectches the spinlock *x for taking
>
> - there is also PREFETCH_STRIDE which is the architecure-prefered
> + there is also PREFETCH_STRIDE which is the architecture-preferred
> "lookahead" size for prefetching streamed operations.
>
> */
>
> -/*
> - * These cannot be do{}while(0) macros. See the mental gymnastics in
> - * the loop macro.
> - */
> -
> #ifndef ARCH_HAS_PREFETCH
> -#define ARCH_HAS_PREFETCH
> -static inline void prefetch(const void *x) {;}
> +#define prefetch(x) __builtin_prefetch(x)
> #endif
>
> #ifndef ARCH_HAS_PREFETCHW
> -#define ARCH_HAS_PREFETCHW
> -static inline void prefetchw(const void *x) {;}
> +#define prefetchw(x) __builtin_prefetch(x,1)
> #endif
>
> #ifndef ARCH_HAS_SPINLOCK_PREFETCH
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |