Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits) locking, m68k/asm-offsets: Rename signal defines locking: Inline spinlock code for all locking variants on s390 locking: Simplify spinlock inlining locking: Allow arch-inlined spinlocks locking: Move spinlock function bodies to header file locking, m68k: Calculate thread_info offset with asm offset locking, m68k/asm-offsets: Rename pt_regs offset defines locking, sparc: Rename __spin_try_lock() and friends locking, powerpc: Rename __spin_try_lock() and friends lockdep: Remove recursion stattistics lockdep: Simplify lock_stat seqfile code lockdep: Simplify lockdep_chains seqfile code lockdep: Simplify lockdep seqfile code lockdep: Fix missing entries in /proc/lock_chains lockdep: Fix missing entry in /proc/lock_stat lockdep: Fix memory usage info of BFS lockdep: Reintroduce generation count to make BFS faster lockdep: Deal with many similar locks lockdep: Introduce lockdep_assert_held() lockdep: Fix style nits ...
This commit is contained in:
@@ -76,7 +76,7 @@ static inline void __raw_spin_unlock(raw_spinlock_t *lock)
|
||||
*
|
||||
* Unfortunately this scheme limits us to ~16,000,000 cpus.
|
||||
*/
|
||||
static inline void __read_lock(raw_rwlock_t *rw)
|
||||
static inline void arch_read_lock(raw_rwlock_t *rw)
|
||||
{
|
||||
register raw_rwlock_t *lp asm("g1");
|
||||
lp = rw;
|
||||
@@ -92,11 +92,11 @@ static inline void __read_lock(raw_rwlock_t *rw)
|
||||
#define __raw_read_lock(lock) \
|
||||
do { unsigned long flags; \
|
||||
local_irq_save(flags); \
|
||||
__read_lock(lock); \
|
||||
arch_read_lock(lock); \
|
||||
local_irq_restore(flags); \
|
||||
} while(0)
|
||||
|
||||
static inline void __read_unlock(raw_rwlock_t *rw)
|
||||
static inline void arch_read_unlock(raw_rwlock_t *rw)
|
||||
{
|
||||
register raw_rwlock_t *lp asm("g1");
|
||||
lp = rw;
|
||||
@@ -112,7 +112,7 @@ static inline void __read_unlock(raw_rwlock_t *rw)
|
||||
#define __raw_read_unlock(lock) \
|
||||
do { unsigned long flags; \
|
||||
local_irq_save(flags); \
|
||||
__read_unlock(lock); \
|
||||
arch_read_unlock(lock); \
|
||||
local_irq_restore(flags); \
|
||||
} while(0)
|
||||
|
||||
@@ -150,7 +150,7 @@ static inline int __raw_write_trylock(raw_rwlock_t *rw)
|
||||
return (val == 0);
|
||||
}
|
||||
|
||||
static inline int __read_trylock(raw_rwlock_t *rw)
|
||||
static inline int arch_read_trylock(raw_rwlock_t *rw)
|
||||
{
|
||||
register raw_rwlock_t *lp asm("g1");
|
||||
register int res asm("o0");
|
||||
@@ -169,7 +169,7 @@ static inline int __read_trylock(raw_rwlock_t *rw)
|
||||
({ unsigned long flags; \
|
||||
int res; \
|
||||
local_irq_save(flags); \
|
||||
res = __read_trylock(lock); \
|
||||
res = arch_read_trylock(lock); \
|
||||
local_irq_restore(flags); \
|
||||
res; \
|
||||
})
|
||||
|
||||
@@ -92,7 +92,7 @@ static inline void __raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long fla
|
||||
|
||||
/* Multi-reader locks, these are much saner than the 32-bit Sparc ones... */
|
||||
|
||||
static void inline __read_lock(raw_rwlock_t *lock)
|
||||
static void inline arch_read_lock(raw_rwlock_t *lock)
|
||||
{
|
||||
unsigned long tmp1, tmp2;
|
||||
|
||||
@@ -115,7 +115,7 @@ static void inline __read_lock(raw_rwlock_t *lock)
|
||||
: "memory");
|
||||
}
|
||||
|
||||
static int inline __read_trylock(raw_rwlock_t *lock)
|
||||
static int inline arch_read_trylock(raw_rwlock_t *lock)
|
||||
{
|
||||
int tmp1, tmp2;
|
||||
|
||||
@@ -136,7 +136,7 @@ static int inline __read_trylock(raw_rwlock_t *lock)
|
||||
return tmp1;
|
||||
}
|
||||
|
||||
static void inline __read_unlock(raw_rwlock_t *lock)
|
||||
static void inline arch_read_unlock(raw_rwlock_t *lock)
|
||||
{
|
||||
unsigned long tmp1, tmp2;
|
||||
|
||||
@@ -152,7 +152,7 @@ static void inline __read_unlock(raw_rwlock_t *lock)
|
||||
: "memory");
|
||||
}
|
||||
|
||||
static void inline __write_lock(raw_rwlock_t *lock)
|
||||
static void inline arch_write_lock(raw_rwlock_t *lock)
|
||||
{
|
||||
unsigned long mask, tmp1, tmp2;
|
||||
|
||||
@@ -177,7 +177,7 @@ static void inline __write_lock(raw_rwlock_t *lock)
|
||||
: "memory");
|
||||
}
|
||||
|
||||
static void inline __write_unlock(raw_rwlock_t *lock)
|
||||
static void inline arch_write_unlock(raw_rwlock_t *lock)
|
||||
{
|
||||
__asm__ __volatile__(
|
||||
" stw %%g0, [%0]"
|
||||
@@ -186,7 +186,7 @@ static void inline __write_unlock(raw_rwlock_t *lock)
|
||||
: "memory");
|
||||
}
|
||||
|
||||
static int inline __write_trylock(raw_rwlock_t *lock)
|
||||
static int inline arch_write_trylock(raw_rwlock_t *lock)
|
||||
{
|
||||
unsigned long mask, tmp1, tmp2, result;
|
||||
|
||||
@@ -210,14 +210,14 @@ static int inline __write_trylock(raw_rwlock_t *lock)
|
||||
return result;
|
||||
}
|
||||
|
||||
#define __raw_read_lock(p) __read_lock(p)
|
||||
#define __raw_read_lock_flags(p, f) __read_lock(p)
|
||||
#define __raw_read_trylock(p) __read_trylock(p)
|
||||
#define __raw_read_unlock(p) __read_unlock(p)
|
||||
#define __raw_write_lock(p) __write_lock(p)
|
||||
#define __raw_write_lock_flags(p, f) __write_lock(p)
|
||||
#define __raw_write_unlock(p) __write_unlock(p)
|
||||
#define __raw_write_trylock(p) __write_trylock(p)
|
||||
#define __raw_read_lock(p) arch_read_lock(p)
|
||||
#define __raw_read_lock_flags(p, f) arch_read_lock(p)
|
||||
#define __raw_read_trylock(p) arch_read_trylock(p)
|
||||
#define __raw_read_unlock(p) arch_read_unlock(p)
|
||||
#define __raw_write_lock(p) arch_write_lock(p)
|
||||
#define __raw_write_lock_flags(p, f) arch_write_lock(p)
|
||||
#define __raw_write_unlock(p) arch_write_unlock(p)
|
||||
#define __raw_write_trylock(p) arch_write_trylock(p)
|
||||
|
||||
#define __raw_read_can_lock(rw) (!((rw)->lock & 0x80000000UL))
|
||||
#define __raw_write_can_lock(rw) (!(rw)->lock)
|
||||
|
||||
Reference in New Issue
Block a user