Revert "Add freebsd support for getcpu (use cpu nr 0)"
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 22 Feb 2012 22:10:31 +0000 (17:10 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 22 Feb 2012 22:10:31 +0000 (17:10 -0500)
This reverts commit dbafbbf5527d2e291b216216fd2c5b7dc4df66ed.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
liblttng-ust/compat.h
libringbuffer/getcpu.h

index 37480671052edcb872c58345958b7c543c2ddea4..05b85a930615516da7175af84661ce144f7d5127 100644 (file)
  * modified is included with the above copyright notice.
  */
 
+/*
+ * sched_getcpu.
+ */
+#ifdef __linux__
+
+#ifdef __UCLIBC__
+#include <sys/syscall.h>
+#define __getcpu(cpu, node, cache)     syscall(__NR_getcpu, cpu, node, cache)
+static inline
+int sched_getcpu(void)
+{
+       int c, s;
+
+       s = __getcpu(&c, NULL, NULL);
+       return (s == -1) ? s : c;
+}
+#endif /* __UCLIBC__ */
+
+#else
+#error "Please add support for your OS into liblttng-ust/compat.h."
+#endif
+
 /*
  * lttng_ust_getprocname.
  */
index 3474bfe0c04f9f218eac190b001b08600f9d8272..104ba7601c6bc58598833d4e7acc9374e6262e4f 100644 (file)
@@ -20,6 +20,7 @@
  */
 
 #include <urcu/compiler.h>
+#include <sched.h>
 
 #ifdef UST_VALGRIND
 
@@ -36,30 +37,6 @@ int lttng_ust_get_cpu(void)
 
 #else
 
-/*
- * sched_getcpu.
- */
-#ifdef __linux__
-
-#ifdef __UCLIBC__
-#include <sys/syscall.h>
-#define __getcpu(cpu, node, cache)     syscall(__NR_getcpu, cpu, node, cache)
-/*
- * If getcpu is not implemented in the kernel, use cpu 0 as fallback.
- */
-static inline
-int lttng_ust_get_cpu(void)
-{
-       int cpu, ret;
-
-       ret = __getcpu(&cpu, NULL, NULL);
-       if (caa_unlikely(ret < 0))
-               return 0;
-       return c;
-}
-#else /* __UCLIBC__ */
-#include <sched.h>
-
 /*
  * If getcpu is not implemented in the kernel, use cpu 0 as fallback.
  */
@@ -73,23 +50,6 @@ int lttng_ust_get_cpu(void)
                return 0;
        return cpu;
 }
-#endif /* __UCLIBC__ */
-
-#elif defined(__FreeBSD__)
-
-/*
- * FreeBSD does not allow query of CPU ID. Always use CPU number 0, with
- * the assocated performance degradation on SMP.
- */
-static inline
-int lttng_ust_get_cpu(void)
-{
-       return 0;
-}
-
-#else
-#error "Please add support for your OS into liblttng-ust/compat.h."
-#endif
 
 #endif
 
This page took 0.026119 seconds and 4 git commands to generate.