#include <linux/percpu.h>
#include <linux/atomic.h>
#include <asm/asm.h>
Go to the source code of this file.
|
#define | LOCAL_INIT(i) { ATOMIC_LONG_INIT(i) } |
|
#define | local_read(l) atomic_long_read(&(l)->a) |
|
#define | local_set(l, i) atomic_long_set(&(l)->a, (i)) |
|
#define | local_inc_return(l) (local_add_return(1, l)) |
|
#define | local_dec_return(l) (local_sub_return(1, l)) |
|
#define | local_cmpxchg(l, o, n) (cmpxchg_local(&((l)->a.counter), (o), (n))) |
|
#define | local_xchg(l, n) (xchg(&((l)->a.counter), (n))) |
|
#define | local_add_unless(l, a, u) |
|
#define | local_inc_not_zero(l) local_add_unless((l), 1, 0) |
|
#define | __local_inc(l) local_inc(l) |
|
#define | __local_dec(l) local_dec(l) |
|
#define | __local_add(i, l) local_add((i), (l)) |
|
#define | __local_sub(i, l) local_sub((i), (l)) |
|
#define local_add_unless |
( |
|
l, |
|
|
|
a, |
|
|
|
u |
|
) |
| |
Value:({ \
for (;;) { \
break; \
break; \
c = old; \
} \
})
local_add_unless - add unless the number is a given value : pointer of type local_t : the amount to add to l... : ...unless l is equal to u.
Atomically adds to , so long as it was not . Returns non-zero if was not , and zero otherwise.
Definition at line 172 of file local.h.
#define local_read |
( |
|
l | ) |
atomic_long_read(&(l)->a) |
#define local_set |
( |
|
l, |
|
|
|
i |
|
) |
| atomic_long_set(&(l)->a, (i)) |