Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16afea02 authored by Art Haas's avatar Art Haas Committed by Linus Torvalds
Browse files

[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: default avatarArt Haas <ahaas@airmail.net>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3e577a80
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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 }
+2 −2
Original line number Diff line number Diff line
@@ -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 }