projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use DMB only on ARMv7
[urcu.git]
/
include
/
urcu
/
arch
/
arm.h
diff --git
a/include/urcu/arch/arm.h
b/include/urcu/arch/arm.h
index e904b06e461cd56a6aa30fe685340cf51501193c..54ca4fabc79de65bad94009c177e73a88b37b481 100644
(file)
--- a/
include/urcu/arch/arm.h
+++ b/
include/urcu/arch/arm.h
@@
-30,7
+30,15
@@
extern "C" {
#endif
extern "C" {
#endif
-#ifdef CONFIG_RCU_ARM_HAVE_DMB
+/*
+ * Using DMB is faster than the builtin __sync_synchronize and this instruction is
+ * part of the baseline ARMv7 ISA.
+ */
+#ifdef URCU_ARCH_ARMV7
+
+/* For backwards compat. */
+#define CONFIG_RCU_ARM_HAVE_DMB 1
+
/*
* Issues full system DMB operation.
*/
/*
* Issues full system DMB operation.
*/
@@
-44,7
+52,8
@@
extern "C" {
#define cmm_smp_mb() __asm__ __volatile__ ("dmb ish":::"memory")
#define cmm_smp_rmb() __asm__ __volatile__ ("dmb ish":::"memory")
#define cmm_smp_wmb() __asm__ __volatile__ ("dmb ish":::"memory")
#define cmm_smp_mb() __asm__ __volatile__ ("dmb ish":::"memory")
#define cmm_smp_rmb() __asm__ __volatile__ ("dmb ish":::"memory")
#define cmm_smp_wmb() __asm__ __volatile__ ("dmb ish":::"memory")
-#endif /* CONFIG_RCU_ARM_HAVE_DMB */
+
+#endif /* URCU_ARCH_ARMV7 */
#include <stdlib.h>
#include <sys/time.h>
#include <stdlib.h>
#include <sys/time.h>
This page took
0.024294 seconds
and
4
git commands to generate.