Skip to content

Commit

Permalink
[PATCH] Remove 'volatile' from spinlock_types
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Art Haas authored and Linus Torvalds committed Dec 6, 2006
1 parent 3e577a8 commit 16afea0
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions include/asm-i386/spinlock_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
Expand Down
4 changes: 2 additions & 2 deletions include/asm-x86_64/spinlock_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
Expand Down

0 comments on commit 16afea0

Please sign in to comment.