diff options
author | Andy Grover <andy.grover@oracle.com> | 2009-04-01 04:20:20 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-02 03:52:22 -0400 |
commit | 8cbd9606a6367c221a7bbcc47f3ab1a8c31b6437 (patch) | |
tree | 9ff2adf88be32383fd59dc133f1cd6670b9ee815 /net/rds/rds.h | |
parent | 745cbccac3fe8cead529a1b3358e1e86a1505bfa (diff) |
RDS: Use spinlock to protect 64b value update on 32b archs
We have a 64bit value that needs to be set atomically.
This is easy and quick on all 64bit archs, and can also be done
on x86/32 with set_64bit() (uses cmpxchg8b). However other
32b archs don't have this.
I actually changed this to the current state in preparation for
mainline because the old way (using a spinlock on 32b) resulted in
unsightly #ifdefs in the code. But obviously, being correct takes
precedence.
Signed-off-by: Andy Grover <andy.grover@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/rds.h')
-rw-r--r-- | net/rds/rds.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/rds/rds.h b/net/rds/rds.h index 060400704979..619f0a30a4e5 100644 --- a/net/rds/rds.h +++ b/net/rds/rds.h | |||
@@ -28,6 +28,10 @@ | |||
28 | */ | 28 | */ |
29 | #define RDS_PORT 18634 | 29 | #define RDS_PORT 18634 |
30 | 30 | ||
31 | #ifdef ATOMIC64_INIT | ||
32 | #define KERNEL_HAS_ATOMIC64 | ||
33 | #endif | ||
34 | |||
31 | #ifdef DEBUG | 35 | #ifdef DEBUG |
32 | #define rdsdebug(fmt, args...) pr_debug("%s(): " fmt, __func__ , ##args) | 36 | #define rdsdebug(fmt, args...) pr_debug("%s(): " fmt, __func__ , ##args) |
33 | #else | 37 | #else |