trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From iga...@apache.org
Subject [2/2] git commit: TS-1585: plugins need memory barriers for ARM
Date Mon, 14 Jan 2013 16:20:05 GMT
Updated Branches:
  refs/heads/3.2.x 778d3b123 -> 3aa39e572


TS-1585: plugins need memory barriers for ARM

In lulu.h barriers are defined only for x86 and x86_64, but not for
arm.  Well, thankfully implementing barriers for arm was rather
easy (at least, the tests pass here).

Fix ARM build failures by adding ARM barrier intrinsics which
actually do something. This fixes build failues on the ARM port
after promoting the header filter module to main. The patch
denoted below originally was contributed by a Debian porter.
The original issue was discussed in TS-1473.
A no-op fix was proposed to be backported and committed as
TS-1498. However, later TS-1560 was committed to trunk as an
improved version of the same problem.

test/review: igalic, zwoop, arno
backport: igalic


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/3aa39e57
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/3aa39e57
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/3aa39e57

Branch: refs/heads/3.2.x
Commit: 3aa39e572cda564ed48472da9faf4de51cd3fa22
Parents: 9b758cf
Author: Igor Galić <i.galic@brainsware.org>
Authored: Mon Jan 14 16:35:58 2013 +0100
Committer: Igor Galić <i.galic@brainsware.org>
Committed: Mon Jan 14 16:35:58 2013 +0100

----------------------------------------------------------------------
 CHANGES                      |    4 +++-
 STATUS                       |   11 -----------
 plugins/header_filter/lulu.h |    8 ++++----
 3 files changed, 7 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/3aa39e57/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 2367273..91764db 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,7 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 3.2.3
 
-  [TS-1575] Ranges broken, "fix" by dsiabling
+  *) [TS-1585] plugins need memory barriers for ARM
+
+  *) [TS-1575] Ranges broken, "fix" by dsiabling
  
   *) [TS-1536] SNI support breaks IP-based lookup
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/3aa39e57/STATUS
----------------------------------------------------------------------
diff --git a/STATUS b/STATUS
index 787b000..4c6be50 100644
--- a/STATUS
+++ b/STATUS
@@ -41,17 +41,6 @@ A list of all bugs open for the next development release can be found at
 
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
 
-  Fix ARM build failures by adding ARM barrier intrinsics which actually do
-  something. This fixes build failues on the ARM port after promoting the
-  header filter module to main. The patch denoted below originally was
-  contributed by a Debian porter. The original issue was discussed in TS-1473.
-  A no-op fix was proposed to be backported and committed as TS-1498. However,
-  later TS-1560 was committed to trunk as an improved version of the same
-  problem.
-  Jira: https://issues.apache.org/jira/browse/TS-1585
-  Patch: 23feb5106ffda71712b0f94a8b3242ecd51a4d9a
-  +1: igalic, zwoop, arno
-
   Mutex leak fix
   Patch: db0cfd44222e5e280db5b832496691ec7722e28e
   Jira: https://issues.apache.org/jira/browse/TS-1652

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/3aa39e57/plugins/header_filter/lulu.h
----------------------------------------------------------------------
diff --git a/plugins/header_filter/lulu.h b/plugins/header_filter/lulu.h
index 49bd807..a16f943 100644
--- a/plugins/header_filter/lulu.h
+++ b/plugins/header_filter/lulu.h
@@ -45,10 +45,10 @@
 #define rmb() __asm__ __volatile__ ( "lfence" : : : "memory")
 #define wmb() __asm__ __volatile__ ( "" : : : "memory")
 #elif defined(__arm__)
-/* ToDo: Anything? */
-#define mb()
-#define rmb()
-#define wmb()
+#define mb()  __asm__ __volatile__ ( "dmb" : : : "memory")
+#define rmb() __asm__ __volatile__ ( "dmb" : : : "memory")
+#define wmb() __asm__ __volatile__ ( "" : : : "memory")
+#elif defined(__arm__)
 #else
 #error "Define barriers"
 #endif


Mime
View raw message