From: Pierre-Marc Fournier Date: Fri, 3 Apr 2009 19:12:03 +0000 (-0400) Subject: cleanup kernelcompat.h X-Git-Tag: v0.1~237 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=981e27d976f58157323770384f8fd125733e0b8e;p=ust.git cleanup kernelcompat.h --- diff --git a/share/kernelcompat.h b/share/kernelcompat.h index 41746d9..6396488 100644 --- a/share/kernelcompat.h +++ b/share/kernelcompat.h @@ -8,6 +8,11 @@ #include #include +/* FIXME: libkcompat must not define arch-specific local ops, as ust *must* + * fallback to the normal atomic ops. Fix things so we don't add them and + * break things accidentally. + */ + #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) @@ -41,14 +46,7 @@ static inline long IS_ERR(const void *ptr) } -/* FIXED SIZE INTEGERS */ - -//#include - -//typedef uint8_t u8; -//typedef uint16_t u16; -//typedef uint32_t u32; -//typedef uint64_t u64; +/* Min / Max */ #define min_t(type, x, y) ({ \ type __min1 = (x); \ @@ -91,93 +89,6 @@ static inline long IS_ERR(const void *ptr) #include #define printk(fmt, args...) printf(fmt, ## args) -/* MEMORY BARRIERS */ - -//#define smp_mb__after_atomic_inc() do {} while(0) - -///* RCU */ -// -//#include "urcu.h" -//#define call_rcu_sched(a,b) b(a); synchronize_rcu() -//#define rcu_barrier_sched() do {} while(0) /* this nop is ok if call_rcu_sched does a synchronize_rcu() */ -//#define rcu_read_lock_sched_notrace() rcu_read_lock() -//#define rcu_read_unlock_sched_notrace() rcu_read_unlock() - -/* ATOMICITY */ - -//#include -// -//static inline int atomic_dec_and_test(atomic_t *p) -//{ -// (p->counter)--; -// return !p->counter; -//} -// -//static inline void atomic_set(atomic_t *p, int v) -//{ -// p->counter=v; -//} -// -//static inline void atomic_inc(atomic_t *p) -//{ -// p->counter++; -//} -// -//static int atomic_read(atomic_t *p) -//{ -// return p->counter; -//} -// -//#define atomic_long_t atomic_t -//#define atomic_long_set atomic_set -//#define atomic_long_read atomic_read - -//#define __xg(x) ((volatile long *)(x)) - -//#define cmpxchg(ptr, o, n) \ -// ((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \ - (unsigned long)(n), sizeof(*(ptr)))) - -//#define local_cmpxchg cmpxchg -//#define local_cmpxchg(l, o, n) (cmpxchg(&((l)->a.counter), (o), (n))) - -//#define atomic_long_cmpxchg(v, old, new) (cmpxchg(&((v)->counter), (old), (new))) - - -/* LOCAL OPS */ - -//typedef int local_t; -//typedef struct -//{ -// atomic_long_t a; -//} local_t; -// -// -//static inline void local_inc(local_t *l) -//{ -// (l->a.counter)++; -//} -// -//static inline void local_set(local_t *l, int v) -//{ -// l->a.counter = v; -//} -// -//static inline void local_add(int v, local_t *l) -//{ -// l->a.counter += v; -//} -// -//static int local_add_return(int v, local_t *l) -//{ -// return l->a.counter += v; -//} -// -//static inline int local_read(local_t *l) -//{ -// return l->a.counter; -//} - /* ATTRIBUTES */