[ltt-dev] [PATCH 2/6] api: make api_gcc.h a superset of the other headers

Paolo Bonzini pbonzini at redhat.com
Wed Aug 10 04:40:53 EDT 2011


After this patch the only differences are:

- for_each_tid is not defined in api_x86.h

- HAVE_CPU_SET_T and HAVE_SCHED_SETAFFINITY are not defined in api_ppc.h
---
 tests/api_gcc.h |   11 +++++++++--
 tests/api_ppc.h |    2 --
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/tests/api_gcc.h b/tests/api_gcc.h
index 93b7244..9874334 100644
--- a/tests/api_gcc.h
+++ b/tests/api_gcc.h
@@ -27,6 +27,8 @@
  * to redistribute under later versions of GPL might not be available.
  */
 
+#include <urcu/arch.h>
+
 #ifndef __always_inline
 #define __always_inline inline
 #endif
@@ -162,8 +164,8 @@ typedef pthread_t thread_id_t;
 
 #define NR_THREADS 128
 
-#define __THREAD_ID_MAP_EMPTY 0
-#define __THREAD_ID_MAP_WAITING 1
+#define __THREAD_ID_MAP_EMPTY ((thread_id_t) 0)
+#define __THREAD_ID_MAP_WAITING ((thread_id_t) 1)
 thread_id_t __thread_id_map[NR_THREADS];
 spinlock_t __thread_id_map_mutex;
 
@@ -175,6 +177,11 @@ spinlock_t __thread_id_map_mutex;
 		if ((__thread_id_map[t] != __THREAD_ID_MAP_EMPTY) && \
 		    (__thread_id_map[t] != __THREAD_ID_MAP_WAITING))
 
+#define for_each_tid(t, tid) \
+	for (t = 0; t < NR_THREADS; t++) \
+		if ((((tid) = __thread_id_map[t]) != __THREAD_ID_MAP_EMPTY) && \
+		    ((tid) != __THREAD_ID_MAP_WAITING))
+
 pthread_key_t thread_id_key;
 
 static int __smp_thread_id(void)
diff --git a/tests/api_ppc.h b/tests/api_ppc.h
index cd3f2f3..255cb89 100644
--- a/tests/api_ppc.h
+++ b/tests/api_ppc.h
@@ -74,8 +74,6 @@
  * Machine parameters.
  */
 
-#define CONFIG_PPC64
-
 #define ____cacheline_internodealigned_in_smp \
 	__attribute__((__aligned__(CAA_CACHE_LINE_SIZE)))
 
-- 
1.7.6






More information about the lttng-dev mailing list