X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=share%2Fkernelcompat.h;h=41746d9f05d21b3ea18e8c30e2e5c9ef69fec1ba;hb=16a93583f647cb6e5da1ed395462200aaf07bb2d;hp=a18460e041554cd6568ea3c0d01c1f61d1fcfd39;hpb=3a7b90de71f2a82f73f06fb14a7b77805aea1064;p=ust.git diff --git a/share/kernelcompat.h b/share/kernelcompat.h index a18460e..41746d9 100644 --- a/share/kernelcompat.h +++ b/share/kernelcompat.h @@ -6,6 +6,7 @@ #include "compiler.h" #include +#include #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ @@ -92,90 +93,90 @@ static inline long IS_ERR(const void *ptr) /* MEMORY BARRIERS */ -#define smp_mb__after_atomic_inc() do {} while(0) +//#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() +///* 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 +//#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), \ +//#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 local_cmpxchg(l, o, n) (cmpxchg(&((l)->a.counter), (o), (n))) -#define atomic_long_cmpxchg(v, old, new) (cmpxchg(&((v)->counter), (old), (new))) +//#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; -} +//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 */