From c5c3f8117f0041c1b3f9c40e01fdf850029b649a Mon Sep 17 00:00:00 2001 From: maxim Date: Sat, 29 Nov 2008 13:38:42 +0000 Subject: [PATCH] b=17087 i=rread i=isaac Landing the patch making ksocklnd more os-neutral (normalizing names of lock primitives, moving linux-spcific code to socklnd_lib-linux.c) --- lnet/include/libcfs/linux/linux-prim.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lnet/include/libcfs/linux/linux-prim.h b/lnet/include/libcfs/linux/linux-prim.h index eb42170..33450fc 100644 --- a/lnet/include/libcfs/linux/linux-prim.h +++ b/lnet/include/libcfs/linux/linux-prim.h @@ -129,6 +129,9 @@ typedef struct proc_dir_entry cfs_proc_dir_entry_t; */ #define CFS_TASK_INTERRUPTIBLE TASK_INTERRUPTIBLE #define CFS_TASK_UNINT TASK_UNINTERRUPTIBLE +#define CFS_TASK_RUNNING TASK_RUNNING + +#define cfs_set_current_state(state) set_current_state(state) typedef wait_queue_t cfs_waitlink_t; typedef wait_queue_head_t cfs_waitq_t; @@ -328,6 +331,37 @@ do { \ #define cfs_waitq_wait_event_interruptible_timeout wait_event_interruptible_timeout #endif +#define cfs_wait_event_interruptible_exclusive(wq, condition, rc) \ +({ \ + rc = wait_event_interruptible_exclusive(wq, condition); \ +}) + +/* + * atomic + */ + +typedef atomic_t cfs_atomic_t; + +#define cfs_atomic_read(atom) atomic_read(atom) +#define cfs_atomic_inc(atom) atomic_inc(atom) +#define cfs_atomic_dec(atom) atomic_dec(atom) +#define cfs_atomic_dec_and_test(atom) atomic_dec_and_test(atom) +#define cfs_atomic_set(atom, value) atomic_set(atom, value) +#define cfs_atomic_add(value, atom) atomic_add(value, atom) +#define cfs_atomic_sub(value, atom) atomic_sub(value, atom) + +/* + * membar + */ + +#define cfs_mb() mb() + +/* + * interrupt + */ + +#define cfs_in_interrupt() in_interrupt() + #else /* !__KERNEL__ */ typedef struct proc_dir_entry cfs_proc_dir_entry_t; -- 1.8.3.1