diff options
author | Art Haas <ahaas@airmail.net> | 2006-12-06 14:45:53 -0600 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-06 14:39:53 -0800 |
commit | 16afea0255cf6963eb924d4334cdb5acb9074581 (patch) | |
tree | c86f8130cd07e441b81df1d3489de3d1e32838bb | |
parent | 3e577a80ea85e2557831fd44064f809646f260b4 (diff) | |
download | linux-stable-16afea0255cf6963eb924d4334cdb5acb9074581.tar.gz linux-stable-16afea0255cf6963eb924d4334cdb5acb9074581.tar.bz2 linux-stable-16afea0255cf6963eb924d4334cdb5acb9074581.zip |
[PATCH] Remove 'volatile' from spinlock_types
This is a resubmission of patches originally created by Ingo Molnar.
The link below is the initial (?) posting of the patch.
http://marc.theaimsgroup.com/?l=linux-kernel&m=115217423929806&w=2
Remove 'volatile' from spinlock_types as it causes GCC to generate bad
code (see link) and locking should be used on kernel data.
Signed-off-by: Art Haas <ahaas@airmail.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | include/asm-i386/spinlock_types.h | 4 | ||||
-rw-r--r-- | include/asm-x86_64/spinlock_types.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-i386/spinlock_types.h b/include/asm-i386/spinlock_types.h index 59efe849f351..4da9345c1500 100644 --- a/include/asm-i386/spinlock_types.h +++ b/include/asm-i386/spinlock_types.h @@ -6,13 +6,13 @@ #endif typedef struct { - volatile unsigned int slock; + unsigned int slock; } raw_spinlock_t; #define __RAW_SPIN_LOCK_UNLOCKED { 1 } typedef struct { - volatile unsigned int lock; + unsigned int lock; } raw_rwlock_t; #define __RAW_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } diff --git a/include/asm-x86_64/spinlock_types.h b/include/asm-x86_64/spinlock_types.h index 59efe849f351..4da9345c1500 100644 --- a/include/asm-x86_64/spinlock_types.h +++ b/include/asm-x86_64/spinlock_types.h @@ -6,13 +6,13 @@ #endif typedef struct { - volatile unsigned int slock; + unsigned int slock; } raw_spinlock_t; #define __RAW_SPIN_LOCK_UNLOCKED { 1 } typedef struct { - volatile unsigned int lock; + unsigned int lock; } raw_rwlock_t; #define __RAW_RW_LOCK_UNLOCKED { RW_LOCK_BIAS } |