Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b4beb31759765efdda9f9431aebfedf828bbfe0
Commit:     3b4beb31759765efdda9f9431aebfedf828bbfe0
Parent:     9f4b0ba81f158df459fa2cfc98ab1475c090f29c
Author:     Heiko Carstens <[EMAIL PROTECTED]>
AuthorDate: Sat Jan 26 14:11:03 2008 +0100
Committer:  Martin Schwidefsky <[EMAIL PROTECTED]>
CommitDate: Sat Jan 26 14:11:14 2008 +0100

    [S390] Remove owner_pc member from raw_spinlock_t.
    
    Used to contain the address of the holder of the lock. But since the
    spinlock code is not inlined anymore all locks contain the same address
    anyway. And since in addtition nobody complained about that for ages
    its obviously unused. So remove it.
    
    Signed-off-by: Heiko Carstens <[EMAIL PROTECTED]>
    Signed-off-by: Martin Schwidefsky <[EMAIL PROTECTED]>
---
 arch/s390/lib/spinlock.c          |   12 ++++--------
 include/asm-s390/spinlock.h       |   19 ++++++-------------
 include/asm-s390/spinlock_types.h |    1 -
 3 files changed, 10 insertions(+), 22 deletions(-)

diff --git a/arch/s390/lib/spinlock.c b/arch/s390/lib/spinlock.c
index 8d76403..59c56c3 100644
--- a/arch/s390/lib/spinlock.c
+++ b/arch/s390/lib/spinlock.c
@@ -39,7 +39,7 @@ static inline void _raw_yield_cpu(int cpu)
                _raw_yield();
 }
 
-void _raw_spin_lock_wait(raw_spinlock_t *lp, unsigned int pc)
+void _raw_spin_lock_wait(raw_spinlock_t *lp)
 {
        int count = spin_retry;
        unsigned int cpu = ~smp_processor_id();
@@ -53,15 +53,13 @@ void _raw_spin_lock_wait(raw_spinlock_t *lp, unsigned int 
pc)
                }
                if (__raw_spin_is_locked(lp))
                        continue;
-               if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) {
-                       lp->owner_pc = pc;
+               if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0)
                        return;
-               }
        }
 }
 EXPORT_SYMBOL(_raw_spin_lock_wait);
 
-int _raw_spin_trylock_retry(raw_spinlock_t *lp, unsigned int pc)
+int _raw_spin_trylock_retry(raw_spinlock_t *lp)
 {
        unsigned int cpu = ~smp_processor_id();
        int count;
@@ -69,10 +67,8 @@ int _raw_spin_trylock_retry(raw_spinlock_t *lp, unsigned int 
pc)
        for (count = spin_retry; count > 0; count--) {
                if (__raw_spin_is_locked(lp))
                        continue;
-               if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0) {
-                       lp->owner_pc = pc;
+               if (_raw_compare_and_swap(&lp->owner_cpu, 0, cpu) == 0)
                        return 1;
-               }
        }
        return 0;
 }
diff --git a/include/asm-s390/spinlock.h b/include/asm-s390/spinlock.h
index 3fd4382..c1d6e7e 100644
--- a/include/asm-s390/spinlock.h
+++ b/include/asm-s390/spinlock.h
@@ -58,39 +58,32 @@ _raw_compare_and_swap(volatile unsigned int *lock,
        do { while (__raw_spin_is_locked(lock)) \
                 _raw_spin_relax(lock); } while (0)
 
-extern void _raw_spin_lock_wait(raw_spinlock_t *, unsigned int pc);
-extern int _raw_spin_trylock_retry(raw_spinlock_t *, unsigned int pc);
+extern void _raw_spin_lock_wait(raw_spinlock_t *);
+extern int _raw_spin_trylock_retry(raw_spinlock_t *);
 extern void _raw_spin_relax(raw_spinlock_t *lock);
 
 static inline void __raw_spin_lock(raw_spinlock_t *lp)
 {
-       unsigned long pc = 1 | (unsigned long) __builtin_return_address(0);
        int old;
 
        old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id());
-       if (likely(old == 0)) {
-               lp->owner_pc = pc;
+       if (likely(old == 0))
                return;
-       }
-       _raw_spin_lock_wait(lp, pc);
+       _raw_spin_lock_wait(lp);
 }
 
 static inline int __raw_spin_trylock(raw_spinlock_t *lp)
 {
-       unsigned long pc = 1 | (unsigned long) __builtin_return_address(0);
        int old;
 
        old = _raw_compare_and_swap(&lp->owner_cpu, 0, ~smp_processor_id());
-       if (likely(old == 0)) {
-               lp->owner_pc = pc;
+       if (likely(old == 0))
                return 1;
-       }
-       return _raw_spin_trylock_retry(lp, pc);
+       return _raw_spin_trylock_retry(lp);
 }
 
 static inline void __raw_spin_unlock(raw_spinlock_t *lp)
 {
-       lp->owner_pc = 0;
        _raw_compare_and_swap(&lp->owner_cpu, lp->owner_cpu, 0);
 }
                
diff --git a/include/asm-s390/spinlock_types.h 
b/include/asm-s390/spinlock_types.h
index b7ac13f..654abc4 100644
--- a/include/asm-s390/spinlock_types.h
+++ b/include/asm-s390/spinlock_types.h
@@ -7,7 +7,6 @@
 
 typedef struct {
        volatile unsigned int owner_cpu;
-       volatile unsigned int owner_pc;
 } __attribute__ ((aligned (4))) raw_spinlock_t;
 
 #define __RAW_SPIN_LOCK_UNLOCKED       { 0 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to