]> git.openfabrics.org - ~shefty/ibacm.git/commitdiff
refresh
authorSean Hefty <sean.hefty@intel.com>
Wed, 25 Aug 2010 18:25:36 +0000 (11:25 -0700)
committerSean Hefty <sean.hefty@intel.com>
Wed, 25 Aug 2010 18:25:36 +0000 (11:25 -0700)
meta
patches/atomic
patches/refresh-temp [deleted file]

diff --git a/meta b/meta
index 454e29b699fb213c93f3e2e3af38294039595f86..158a4c70e82b9c7e1ecc3b42c4b935d9d9351fe6 100644 (file)
--- a/meta
+++ b/meta
@@ -1,8 +1,7 @@
 Version: 1
-Previous: dde8257f944ccec4678807001a248aff9d175da7
-Head: e4566b7e59303ba3f52ec3d8474074aeccb75c8e
+Previous: b0364739df3d2d65aafb8f1a53ce004f8af74d0c
+Head: 5569c30cc5bd59bcd67f8471cabb6f4f06fe03be
 Applied:
-  atomic: 74e8392c2c62d9b7f090cb1d305163286e8a9bcd
-  refresh-temp: e4566b7e59303ba3f52ec3d8474074aeccb75c8e
+  atomic: 5569c30cc5bd59bcd67f8471cabb6f4f06fe03be
 Unapplied:
 Hidden:
index 4aa3346e9db7bd12c806ab0c3c6a9016d777cc65..b78311c154f98715db8565a29aa79843461e794b 100644 (file)
@@ -1,5 +1,5 @@
 Bottom: 44cd90e52fd7bd946e34e9acdfcf1cef88293c9a
-Top:    44cd90e52fd7bd946e34e9acdfcf1cef88293c9a
+Top:    9c72d3a49ab622631098c8bb005b82d2410ba704
 Author: Sean Hefty <sean.hefty@intel.com>
 Date:   2010-08-25 10:26:22 -0700
 
@@ -17,4 +17,103 @@ Signed-off-by: Sean Hefty <sean.hefty@intel.com>
 
 ---
 
-
+diff --git a/configure.in b/configure.in
+old mode 100644
+new mode 100755
+index 997c775..192289a
+--- a/configure.in
++++ b/configure.in
+@@ -39,6 +39,12 @@ AC_CHECK_HEADER(infiniband/umad.h, [],
+     AC_MSG_ERROR([<infiniband/umad.h> not found.  Is libibumad installed?]))\r
+ fi\r
\r
++dnl Check for gcc atomic intrinsics\r
++AC_TRY_LINK(\r
++    [int i = 0;\r
++     return __sync_add_and_fetch(&i, 1) == __sync_sub_and_fetch(&i, 1) + 1;],\r
++    [], AC_DEFINE(DEFINE_ATOMICS, 1, [defining atomics]))\r
++\r
+ AC_CACHE_CHECK(whether ld accepts --version-script, ac_cv_version_script,\r
+     if test -n "`$LD --help < /dev/null 2>/dev/null | grep version-script`"; then\r
+         ac_cv_version_script=yes\r
+diff --git a/linux/osd.h b/linux/osd.h
+old mode 100644
+new mode 100755
+index 722e1b1..9a167a7
+--- a/linux/osd.h
++++ b/linux/osd.h
+@@ -65,9 +65,27 @@
+ #endif\r
+ #define ntohll(x) htonll(x)\r
\r
++#if DEFINE_ATOMICS\r
++typedef struct { pthread_mutex_t mut; int val; } atomic_t;\r
++#define atomic_inc(v) { \\r
++      int v;\r
++      pthread_mutex_lock(&(v)->mut); \\r
++      v = ++val; \\r
++      pthread_mutex_unlock(&(v)->mut); \\r
++      return v; }\r
++#define atomic_dec(v) { \\r
++      int v;\r
++      pthread_mutex_lock(&(v)->mut); \\r
++      v = --val; \\r
++      pthread_mutex_unlock(&(v)->mut); \\r
++      return v; }\r
++#define atomic_init(v) { pthread_mutex_init(&(v)->mut, NULL); (v)->val = 0); }\r
++#else\r
+ typedef struct { volatile int val; } atomic_t;\r
+-#define atomic_inc(v) (__sync_fetch_and_add(&(v)->val, 1) + 1)\r
+-#define atomic_dec(v) (__sync_fetch_and_sub(&(v)->val, 1) - 1)\r
++#define atomic_inc(v) (__sync_add_and_fetch(&(v)->val, 1))\r
++#define atomic_dec(v) (__sync_sub_and_fetch(&(v)->val, 1))\r
++#define atomic_init(v) ((v)->val = 0)\r
++#endif\r
+ #define atomic_get(v) ((v)->val)\r
+ #define atomic_set(v, s) ((v)->val = s)\r
\r
+diff --git a/src/acm.c b/src/acm.c
+old mode 100644
+new mode 100755
+index 7c8b84b..56fbb01
+--- a/src/acm.c
++++ b/src/acm.c
+@@ -268,6 +268,7 @@ acm_init_dest(struct acm_dest *dest, uint8_t addr_type, uint8_t *addr, size_t si
+       memcpy(dest->address, addr, size);
+       dest->addr_type = addr_type;
+       DListInit(&dest->req_queue);
++      atomic_init(&dest->refcnt);
+       atomic_set(&dest->refcnt, 1);
+       lock_init(&dest->lock);
+ }
+@@ -1560,6 +1561,7 @@ static void acm_init_server(void)
+               lock_init(&client[i].lock);
+               client[i].index = i;
+               client[i].sock = INVALID_SOCKET;
++              atomic_init(&client[i].refcnt);
+       }
+ }
+@@ -2680,6 +2682,8 @@ int CDECL_FUNC main(int argc, char **argv)
+       acm_log(0, "Assistant to the InfiniBand Communication Manager\n");
+       acm_log_options();
++      atomic_init(&tid);
++      atomic_init(&wait_cnt);
+       DListInit(&dev_list);
+       DListInit(&timeout_list);
+       event_init(&timeout_event);
+diff --git a/windows/osd.h b/windows/osd.h
+old mode 100644
+new mode 100755
+index 10e5e18..9587c51
+--- a/windows/osd.h
++++ b/windows/osd.h
+@@ -44,6 +44,7 @@ typedef struct { volatile LONG val; } atomic_t;
+ #define atomic_dec(v) InterlockedDecrement(&(v)->val)\r
+ #define atomic_get(v) ((v)->val)\r
+ #define atomic_set(v, s) ((v)->val = s)\r
++#define atomic_init(v) ((v)->val = 0)\r
\r
+ #define event_t          HANDLE\r
+ #define event_init(e)    *(e) = CreateEvent(NULL, FALSE, FALSE, NULL)
diff --git a/patches/refresh-temp b/patches/refresh-temp
deleted file mode 100644 (file)
index 5effe11..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-Bottom: 44cd90e52fd7bd946e34e9acdfcf1cef88293c9a
-Top:    9c72d3a49ab622631098c8bb005b82d2410ba704
-Author: Sean Hefty <sean.hefty@intel.com>
-Date:   2010-08-25 11:25:35 -0700
-
-Refresh of atomic
-
----
-
-diff --git a/configure.in b/configure.in
-old mode 100644
-new mode 100755
-index 997c775..192289a
---- a/configure.in
-+++ b/configure.in
-@@ -39,6 +39,12 @@ AC_CHECK_HEADER(infiniband/umad.h, [],
-     AC_MSG_ERROR([<infiniband/umad.h> not found.  Is libibumad installed?]))\r
- fi\r
\r
-+dnl Check for gcc atomic intrinsics\r
-+AC_TRY_LINK(\r
-+    [int i = 0;\r
-+     return __sync_add_and_fetch(&i, 1) == __sync_sub_and_fetch(&i, 1) + 1;],\r
-+    [], AC_DEFINE(DEFINE_ATOMICS, 1, [defining atomics]))\r
-+\r
- AC_CACHE_CHECK(whether ld accepts --version-script, ac_cv_version_script,\r
-     if test -n "`$LD --help < /dev/null 2>/dev/null | grep version-script`"; then\r
-         ac_cv_version_script=yes\r
-diff --git a/linux/osd.h b/linux/osd.h
-old mode 100644
-new mode 100755
-index 722e1b1..9a167a7
---- a/linux/osd.h
-+++ b/linux/osd.h
-@@ -65,9 +65,27 @@
- #endif\r
- #define ntohll(x) htonll(x)\r
\r
-+#if DEFINE_ATOMICS\r
-+typedef struct { pthread_mutex_t mut; int val; } atomic_t;\r
-+#define atomic_inc(v) { \\r
-+      int v;\r
-+      pthread_mutex_lock(&(v)->mut); \\r
-+      v = ++val; \\r
-+      pthread_mutex_unlock(&(v)->mut); \\r
-+      return v; }\r
-+#define atomic_dec(v) { \\r
-+      int v;\r
-+      pthread_mutex_lock(&(v)->mut); \\r
-+      v = --val; \\r
-+      pthread_mutex_unlock(&(v)->mut); \\r
-+      return v; }\r
-+#define atomic_init(v) { pthread_mutex_init(&(v)->mut, NULL); (v)->val = 0); }\r
-+#else\r
- typedef struct { volatile int val; } atomic_t;\r
--#define atomic_inc(v) (__sync_fetch_and_add(&(v)->val, 1) + 1)\r
--#define atomic_dec(v) (__sync_fetch_and_sub(&(v)->val, 1) - 1)\r
-+#define atomic_inc(v) (__sync_add_and_fetch(&(v)->val, 1))\r
-+#define atomic_dec(v) (__sync_sub_and_fetch(&(v)->val, 1))\r
-+#define atomic_init(v) ((v)->val = 0)\r
-+#endif\r
- #define atomic_get(v) ((v)->val)\r
- #define atomic_set(v, s) ((v)->val = s)\r
\r
-diff --git a/src/acm.c b/src/acm.c
-old mode 100644
-new mode 100755
-index 7c8b84b..56fbb01
---- a/src/acm.c
-+++ b/src/acm.c
-@@ -268,6 +268,7 @@ acm_init_dest(struct acm_dest *dest, uint8_t addr_type, uint8_t *addr, size_t si
-       memcpy(dest->address, addr, size);
-       dest->addr_type = addr_type;
-       DListInit(&dest->req_queue);
-+      atomic_init(&dest->refcnt);
-       atomic_set(&dest->refcnt, 1);
-       lock_init(&dest->lock);
- }
-@@ -1560,6 +1561,7 @@ static void acm_init_server(void)
-               lock_init(&client[i].lock);
-               client[i].index = i;
-               client[i].sock = INVALID_SOCKET;
-+              atomic_init(&client[i].refcnt);
-       }
- }
-@@ -2680,6 +2682,8 @@ int CDECL_FUNC main(int argc, char **argv)
-       acm_log(0, "Assistant to the InfiniBand Communication Manager\n");
-       acm_log_options();
-+      atomic_init(&tid);
-+      atomic_init(&wait_cnt);
-       DListInit(&dev_list);
-       DListInit(&timeout_list);
-       event_init(&timeout_event);
-diff --git a/windows/osd.h b/windows/osd.h
-old mode 100644
-new mode 100755
-index 10e5e18..9587c51
---- a/windows/osd.h
-+++ b/windows/osd.h
-@@ -44,6 +44,7 @@ typedef struct { volatile LONG val; } atomic_t;
- #define atomic_dec(v) InterlockedDecrement(&(v)->val)\r
- #define atomic_get(v) ((v)->val)\r
- #define atomic_set(v, s) ((v)->val = s)\r
-+#define atomic_init(v) ((v)->val = 0)\r
\r
- #define event_t          HANDLE\r
- #define event_init(e)    *(e) = CreateEvent(NULL, FALSE, FALSE, NULL)