[ltt-dev] [URCU PATCH] arm: put CONFIG_RCU_ARM_HAVE_DMB in the global config.h
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Wed May 4 15:13:20 EDT 2011
* Jason Wessel (jason.wessel at windriver.com) wrote:
> Change CONFIG_ARM_HAVE_DMB to CONFIG_RCU_ARM_HAVE_DMB while at the
> same time making it seen as a global setting in urch/config.h.
>
> The initial ARM < v7 work missed this setting, which allowed the URCU
> to package to build correctly, but exposed the memorry barriers
> defines incorrectly for other applications using the URCU headers.
>
> Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
merged, thanks!
Mathieu
> ---
> configure.ac | 4 ++--
> urcu/arch_arm.h | 4 ++--
> urcu/config.h.in | 5 ++++-
> 3 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 3c61abc..b8c151a 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -20,7 +20,7 @@ AH_TEMPLATE([CONFIG_RCU_HAVE_FENCE], [Defined when on a system that has memory f
> AH_TEMPLATE([CONFIG_RCU_HAVE_FUTEX], [Defined when on a system with futex support.])
> AH_TEMPLATE([CONFIG_RCU_COMPAT_ARCH], [Compatibility mode for i386 which lacks
> cmpxchg instruction.])
> -AH_TEMPLATE([CONFIG_ARM_HAVE_DMB], [Use the dmb instruction is available for use on ARM.])
> +AH_TEMPLATE([CONFIG_RCU_ARM_HAVE_DMB], [Use the dmb instruction is available for use on ARM.])
>
> # Checks for programs.
> AC_PROG_CC
> @@ -67,7 +67,7 @@ asm volatile("dmb":::"memory");
> ],
> [
> AC_MSG_RESULT([yes])
> - AC_DEFINE([CONFIG_ARM_HAVE_DMB], [1])
> + AC_DEFINE([CONFIG_RCU_ARM_HAVE_DMB], [1])
> ]
> ,
> [
> diff --git a/urcu/arch_arm.h b/urcu/arch_arm.h
> index f97ae1d..92df8e9 100644
> --- a/urcu/arch_arm.h
> +++ b/urcu/arch_arm.h
> @@ -29,11 +29,11 @@
> extern "C" {
> #endif
>
> -#ifdef CONFIG_ARM_HAVE_DMB
> +#ifdef CONFIG_RCU_ARM_HAVE_DMB
> #define cmm_mb() asm volatile("dmb":::"memory")
> #define cmm_rmb() asm volatile("dmb":::"memory")
> #define cmm_wmb() asm volatile("dmb":::"memory")
> -#endif /* CONFIG_ARM_HAVE_DMB */
> +#endif /* CONFIG_RCU_ARM_HAVE_DMB */
>
> #include <stdlib.h>
> #include <sys/time.h>
> diff --git a/urcu/config.h.in b/urcu/config.h.in
> index 749c3c0..02c7b2e 100644
> --- a/urcu/config.h.in
> +++ b/urcu/config.h.in
> @@ -1,4 +1,4 @@
> -/* urcu/config.h.in. Manually generatad for control over the contained defs. */
> +/* urcu/config.h.in. Manually generated for control over the contained defs. */
>
> /* Defined when on a system that has memory fence instructions. */
> #undef CONFIG_RCU_HAVE_FENCE
> @@ -13,3 +13,6 @@
>
> /* Compatibility mode for i386 which lacks cmpxchg instruction. */
> #undef CONFIG_RCU_COMPAT_ARCH
> +
> +/* Use the dmb instruction is available for use on ARM. */
> +#undef CONFIG_RCU_ARM_HAVE_DMB
> --
> 1.7.1
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list