summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArt Haas <ahaas@airmail.net>2006-12-06 14:45:53 -0600
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-06 14:39:53 -0800
commit16afea0255cf6963eb924d4334cdb5acb9074581 (patch)
treec86f8130cd07e441b81df1d3489de3d1e32838bb
parent3e577a80ea85e2557831fd44064f809646f260b4 (diff)
downloadlinux-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.h4
-rw-r--r--include/asm-x86_64/spinlock_types.h4
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 }