From: Mathieu Desnoyers Date: Wed, 22 Feb 2012 22:10:31 +0000 (-0500) Subject: Revert "Add freebsd support for getcpu (use cpu nr 0)" X-Git-Tag: v2.0.0-rc2~23 X-Git-Url: http://git.liburcu.org/?p=lttng-ust.git;a=commitdiff_plain;h=e4486ebcdee39064492ed386b11008191fbbad17 Revert "Add freebsd support for getcpu (use cpu nr 0)" This reverts commit dbafbbf5527d2e291b216216fd2c5b7dc4df66ed. Signed-off-by: Mathieu Desnoyers --- diff --git a/liblttng-ust/compat.h b/liblttng-ust/compat.h index 37480671..05b85a93 100644 --- a/liblttng-ust/compat.h +++ b/liblttng-ust/compat.h @@ -14,6 +14,28 @@ * modified is included with the above copyright notice. */ +/* + * sched_getcpu. + */ +#ifdef __linux__ + +#ifdef __UCLIBC__ +#include +#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. */ diff --git a/libringbuffer/getcpu.h b/libringbuffer/getcpu.h index 3474bfe0..104ba760 100644 --- a/libringbuffer/getcpu.h +++ b/libringbuffer/getcpu.h @@ -20,6 +20,7 @@ */ #include +#include #ifdef UST_VALGRIND @@ -36,30 +37,6 @@ int lttng_ust_get_cpu(void) #else -/* - * sched_getcpu. - */ -#ifdef __linux__ - -#ifdef __UCLIBC__ -#include -#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 - /* * 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