Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 54799
b: refs/heads/master
c: 4431f46
h: refs/heads/master
i:
  54797: 54248ca
  54795: da18f32
  54791: 0ccd4b5
  54783: 0f9f331
v: v3
  • Loading branch information
Mathieu Desnoyers authored and Linus Torvalds committed May 8, 2007
1 parent d9b902a commit b316644
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 51 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a075227948636e10aa2cc2d8725fbbab27681d4a
refs/heads/master: 4431f46f5fe0e3b740dfaf09ba34f0b14688185e
51 changes: 1 addition & 50 deletions trunk/include/asm-ia64/local.h
Original file line number Diff line number Diff line change
@@ -1,50 +1 @@
#ifndef _ASM_IA64_LOCAL_H
#define _ASM_IA64_LOCAL_H

/*
* Copyright (C) 2003 Hewlett-Packard Co
* David Mosberger-Tang <davidm@hpl.hp.com>
*/

#include <linux/percpu.h>

typedef struct {
atomic64_t val;
} local_t;

#define LOCAL_INIT(i) ((local_t) { { (i) } })
#define local_read(l) atomic64_read(&(l)->val)
#define local_set(l, i) atomic64_set(&(l)->val, i)
#define local_inc(l) atomic64_inc(&(l)->val)
#define local_dec(l) atomic64_dec(&(l)->val)
#define local_add(i, l) atomic64_add((i), &(l)->val)
#define local_sub(i, l) atomic64_sub((i), &(l)->val)

/* Non-atomic variants, i.e., preemption disabled and won't be touched in interrupt, etc. */

#define __local_inc(l) (++(l)->val.counter)
#define __local_dec(l) (--(l)->val.counter)
#define __local_add(i,l) ((l)->val.counter += (i))
#define __local_sub(i,l) ((l)->val.counter -= (i))

/*
* Use these for per-cpu local_t variables. Note they take a variable (eg. mystruct.foo),
* not an address.
*/
#define cpu_local_read(v) local_read(&__ia64_per_cpu_var(v))
#define cpu_local_set(v, i) local_set(&__ia64_per_cpu_var(v), (i))
#define cpu_local_inc(v) local_inc(&__ia64_per_cpu_var(v))
#define cpu_local_dec(v) local_dec(&__ia64_per_cpu_var(v))
#define cpu_local_add(i, v) local_add((i), &__ia64_per_cpu_var(v))
#define cpu_local_sub(i, v) local_sub((i), &__ia64_per_cpu_var(v))

/*
* Non-atomic increments, i.e., preemption disabled and won't be touched in interrupt,
* etc.
*/
#define __cpu_local_inc(v) __local_inc(&__ia64_per_cpu_var(v))
#define __cpu_local_dec(v) __local_dec(&__ia64_per_cpu_var(v))
#define __cpu_local_add(i, v) __local_add((i), &__ia64_per_cpu_var(v))
#define __cpu_local_sub(i, v) __local_sub((i), &__ia64_per_cpu_var(v))

#endif /* _ASM_IA64_LOCAL_H */
#include <asm-generic/local.h>

0 comments on commit b316644

Please sign in to comment.