[lttng-dev] [PATCH userspace-rcu] Set RCU_HAVE_FENCE to false on Intel Xeon Phi

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Dec 6 16:44:31 EST 2013


----- Original Message -----
> From: "Simon Marchi" <simon.marchi at polymtl.ca>
> To: lttng-dev at lists.lttng.org
> Sent: Friday, December 6, 2013 10:17:55 PM
> Subject: [lttng-dev] [PATCH userspace-rcu] Set RCU_HAVE_FENCE to false on	Intel Xeon Phi
> 
> It currently fails to compile, because the Phi does not have fence
> instructions.
> 
> It will use lock prefixed instructions for all memory barriers, which
> is overkill for this platform, but at least it will work.

Merged. It's overkill, but at least it will compile. We'll see if we
want to improve the memory barriers and make them cheaper as an
optimization.

Thanks,

Mathieu

> 
> Signed-off-by: Simon Marchi <simon.marchi at polymtl.ca>
> ---
>  configure.ac |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 774094e..079c145 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -140,7 +140,10 @@ AS_IF([test "x$ARCHTYPE" = "xx86"],[
>  	#For now, using lock; addl compatibility mode even for i686, because the
>  	#Pentium III is seen as a i686, but lacks mfence instruction.
>  	#Only using fence for x86_64.
> -	AS_IF([test "x$host_cpu" != "xi386" -a "x$host_cpu" != "xi486" -a
> "x$host_cpu" != "xi586" -a "x$host_cpu" != "xi686"],[
> +	#
> +	#k1om is the name for the Intel MIC family (Xeon Phi). It is an x86_64
> +	#variant but lacks fence instructions.
> +	AS_IF([test "x$host_cpu" != "xi386" -a "x$host_cpu" != "xi486" -a
> "x$host_cpu" != "xi586" -a "x$host_cpu" != "xi686" -a "x$host_vendor" !=
> "xk1om"],[
>  		AC_MSG_RESULT([yes])
>  		AC_DEFINE([CONFIG_RCU_HAVE_FENCE], [1])
>  	],[
> --
> 1.7.1
> 
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list